我很难区分Component
与Controller
。 Controller如何用角度2中的组件替换? 我读到有关组件:
之间的差异在Angular中,Component是一种特殊的指令,它使用更简单的配置,适用于基于组件的应用程序结构。
这使得以类似于使用Web组件或使用Angular 2的应用程序架构风格的方式编写应用程序变得更加容易。
组件的优点:
- 比plain指令更简单的配置
- 宣传理智默认值和最佳做法
- 针对基于组件的架构进行了优化
- 编写组件指令将使其更容易升级到Angular 2
何时不使用组件:
- 用于需要在编译和预链接函数中执行操作的指令,因为它们不可用
- 当您需要高级指令定义选项时,例如priority,terminal,multi-element
- 当您需要由属性或CSS类而不是元素触发的指令时。
但我正在logic
component
中实施controller
{{1}}。
那么有人可以解释一下吗?如何在控制器的组件视角中考虑应用程序的体系结构。
答案 0 :(得分:1)
我不会像你问的那样将它们与应用程序的体系结构区分开来。它几乎是相同的概念,重新命名并变得更容易。长话短说,您可以将其视为同一类型的实体。
我认为component
比controller
更容易让人们掌握,即使它适合MVC,是最后的" C"。通常,将组件作为UI的一个元素进行推理会更容易一些。人们可以想到整个UI由多个组件组成,每个组件都在创建整个画面,因此从Angular团队的角度来看,这个名称更合适。我也更喜欢组件。
答案 1 :(得分:1)
来自:https://kw-angulardart.appspot.com/tutorial/05-ch03-component.html(此版本的教程使用AngularDart版本0.10.0。)。可能过时了,但可能也有帮助?
组件和控制器之间的主要区别在于组件的内部结构与周围环境隔离,可以将其视为黑匣子。
组件创建自己的范围层次结构,该层次结构对于外界是不可见的。他们无权直接访问应用程序的范围,也无权直接访问组件的范围。
组件通过创建影子DOM将其视图与周围环境隔离。使用影子DOM可以使组件在任何地方使用,而不会遇到CSS名称冲突之类的问题。
答案 2 :(得分:0)
Controller(Angular 1.x)被Angular 2中的组件类替换,因为现在我们有ES6类。
ES6类与Typescript相结合,非常容易实现依赖注入等内容。
Angular和Angular 2都有模板。