Me、AngularJS及其指定控制器的3种不同方式
我被指定控制器的这三种不同方式弄糊涂了 1-我可以在app/index.html文件中包含:Me、AngularJS及其指定控制器的3种不同方式,angularjs,Angularjs,我被指定控制器的这三种不同方式弄糊涂了 1-我可以在app/index.html文件中包含: <script src="scripts/controller/nav.js"></script> 3-我可以在视图中拥有一个属性: ng-controller="navController" 相当多。我不知道该走哪条路,什么时候走 亲切问候, 斯蒂芬妮·艾伯特你的(1)与(2)和(3)无关。 还有其他可以绑定控制器的地方(例如,指令的controller属性) 每种
<script src="scripts/controller/nav.js"></script>
3-我可以在视图中拥有一个属性:
ng-controller="navController"
相当多。我不知道该走哪条路,什么时候走
亲切问候,
斯蒂芬妮·艾伯特你的(1)与(2)和(3)无关。还有其他可以绑定控制器的地方(例如,指令的
controller
属性)
每种方法都有不同的用途,所以选择适合你情况的方法
- 如果您有一个指令并希望为其指定一个特定的控制器,请使用指令定义对象的
属性controller
- 如果使用
并希望为每个视图指定一个特定的控制器(通常情况下),请使用ngView
s$routeProvider
控制器
- 如果要将控制器分配给视图的某些部分(在主文件中或视图或部分中),请使用
ngController
还有其他可以绑定控制器的地方(例如,指令的
controller
属性)
每种方法都有不同的用途,所以选择适合你情况的方法
- 如果您有一个指令并希望为其指定一个特定的控制器,请使用指令定义对象的
属性controller
- 如果使用
并希望为每个视图指定一个特定的控制器(通常情况下),请使用ngView
s$routeProvider
控制器
- 如果要将控制器分配给视图的某些部分(在主文件中或视图或部分中),请使用
ngController
以上所有方法都是将控制器“绑定”到视图的某个部分(无论是单个元素、整个HTML页面还是介于两者之间的任何内容)的方法。我也很新,但我会尝试以更通俗的方式解释 1对于您拥有的每个.js文件(可能包含一个或多个定义的控制器),您需要在脚本中为#1输入相应的条目。它不是控制器本身,更像是允许脚本识别这个.js文件是要运行的文件集的一部分 2更像是指定一个状态或路由,可以使用也可以不使用控制器。这很像是说一个事件应该如何导致另一个事件。控制器可能涉及状态/路由的转换(即从一个状态到另一个状态的责任)或视图本身
3用于在视图本身中使用控制器的功能。我也很新,但我会尝试以更通俗的方式解释 1对于您拥有的每个.js文件(可能包含一个或多个定义的控制器),您需要在脚本中为#1输入相应的条目。它不是控制器本身,更像是允许脚本识别这个.js文件是要运行的文件集的一部分 2更像是指定一个状态或路由,可以使用也可以不使用控制器。这很像是说一个事件应该如何导致另一个事件。控制器可能涉及状态/路由的转换(即从一个状态到另一个状态的责任)或视图本身
3用于在视图本身中使用控制器的函数。我在其中一个答案中添加了注释,但除了语法之外,这可能更像是一个设计问题。这是我的意见 首先,(1)与对话无关 (2) 是为视图指定控制器时的首选方法,因为它将控制器与视图本身分离。当您希望通过提供不同的控制器重新使用同一视图时,这可能非常有用
如果你发现自己使用了(3),考虑把这个区域变成一个指令,因为通过指定一个控制器,你就表明它需要它自己的逻辑。p> 我在其中一个答案中添加了注释,但除了语法之外,这可能更像是一个设计问题。这是我的意见
首先,(1)与对话无关 (2) 是为视图指定控制器时的首选方法,因为它将控制器与视图本身分离。当您希望通过提供不同的控制器重新使用同一视图时,这可能非常有用如果你发现自己使用了(3),考虑把这个区域变成一个指令,因为通过指定一个控制器,你就表明它需要它自己的逻辑。p> 若你们在页面上重定向更好,它应该在.when({})中定义;仅限区块。。。如果您想直接加载页面,那么可以使用ng控制器引入角度控制器。1与2和3无关。还有其他可以绑定控制器的地方(例如指令的
controller
属性)。@pankajparkar很好。请问您何时想在when({})中重定向到视图;块和您希望直接加载视图的时间?干杯。不太确定习惯的方式,所以。。。我必须选择一个答案作为解决方案吗?还是能保持原样?只是想知道。。。干杯。若你们在页面上重定向更好,它应该在.when({})中定义;仅限区块。。。如果您想直接加载页面,那么可以使用ng控制器引入角度控制器。1与2和3无关。还有其他可以绑定控制器的地方(例如指令的controller
属性)。@pankajparkar很好。请问您何时想在when({})中重定向到视图;块和您希望直接加载视图的时间?干杯。不太确定习惯的方式,所以。。。我必须选择一个答案作为解决方案吗?或者仅仅是
ng-controller="navController"