【问题标题】:Should I use angular for a keyword/product aggregator website?我应该为关键字/产品聚合网站使用 Angular 吗?
【发布时间】:2015-11-03 02:16:54
【问题描述】:

我正在开发一个网站,用户可以在其中使用关键字搜索产品。主要功能之一是搜索和显示搜索结果。每个搜索结果(产品)点击一个详细页面(将在 2 周后删除)

我做了什么

  1. 为网站开发了 UI/Javascript。
  2. html/css中的所有产品组件都是可复用的

所以所有基本的东西都完成了。现在我将重点放在 AJAX 和 Angular 上,具体取决于您的意见。

我的搭档正在 Node.js 中构建后端。他告诉我他将以 JSON 格式发送搜索结果,并且必须使用 AJAX 来获取它。到目前为止,我已经学会了如何将 JSON 对象存储在用户的 localStorage(本地)中。

现在我不知道如何传输数据并在页面上显示一定数量的产品等。

我有一些片段,但没有细节。

如果你能帮助我解决我所缺乏的领域,那就太好了,谢谢。

【问题讨论】:

  • 您可以轻松解析 JSON 并创建指令以显示您的项目。尝试了解有关 angularjs 中指令的更多信息

标签: javascript json ajax angularjs


【解决方案1】:

谷歌列表:

  • ng-repeat 遍历集合
  • Angular Directives 创建可重用的 DOM
  • ng-include 如果您必须显示内联详细信息
  • ng-if 确定上述功能(不是 ng-show 因为它在 IE9 中有问题-)
  • ui-router 创建单独的详细信息“状态”(又名页面)
  • $state通过应用翻译
  • $stateParams 确定 id 要在详细信息页面上显示的产品

关于您将获得的 AJAX 和 JSON 响应:

{
    items: [{ id:0, ... }], //collection of products
    meta: {
       totalPagesCount: '100',
       totalItemsCount: '1000'
       itemsPerPage: '10',
       currentPage: '1', 
    }
}

Power that let you adapt to anything

Power that let you to find anything

显然你将创建两个指令和一个控制器:

  1. 物品指令
  2. 分页指令
  3. 控制器为处理您的输入的页面提供服务,该页面将使用关键字作为 GET 参数发送收集请求并将更新的数据转换为指令
  4. 服务将像 $http.get() 一样执行业务逻辑,并进行反序列化(如果需要)、存储信息(如果要缓存某些内容)等。

传入指令的ng-model 适当的集合、分页等值将使您避免在控制器内部编写$watch 和业务逻辑。

保持一切简单、清晰和paterned。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多