我正在努力学习AngularJS(1.5)我已经理解了过滤器和服务的概念,我也理解了控制器和指令背后的逻辑。但是当我开始编写我的第一个应用程序时,我无法区分是否应将视图组件拆分为控制器或指令。例如,我有一个类似于以下的页面;
<navigation-bar>
<menu></menu>
<search-box></search-box>
</navigation-bar>
<content>
<comments>
<comment></comment>
<comment></comment>
<comment></comment>
</comments>
</content>
现在,我正在使用templateUrl为每个组件创建Controller,这种方法是正确的还是我应该创建指令?如果我应该创建指令,我应该如何管理“注释”部分,该部分将使用从服务收集的数据重复每个注释。为重复内容创建一个CommentsController和Comment指令是对的吗?
提前致谢
答案 0 :(得分:0)
你应该了解指令和控制器 指令: - 使用自定义属性和元素扩展HTML 控制器: - 视图背后的业务逻辑。
因此,如果您只需要编写业务逻辑,那么您可以在控制器中写入,如果您想访问服务数据,则在控制器中注入服务。 我控制器,你可以编写逻辑来保存数据,你可以编写渲染逻辑,然后是数据处理和处理逻辑。对于这样的逻辑,不需要自定义指令。
但是,当您必须自定义视图时,您应该使用自定义指令
对于前。
- 假设您要在表单中显示选择小部件
- 如果您想详细了解任何字段,或者您想要显示特定字段的自定义视图,那么使用自定义指令。
在你的情况下,
<navigation-bar>
<menu></menu>
<search-box></search-box>
</navigation-bar>
<content>
<comments>
<comment></comment>
<comment></comment>
<comment></comment>
</comments>
</content>
在上面的代码中创建HTML并将其与控制器一起使用,但是如果你想要对你的搜索框或注释进行切割,那么只需添加自定义指令,否则就不需要使用自定义指令。