'控制器为'语法或服务?

时间:2015-02-24 00:14:03

标签: javascript angularjs frontend

我的角度应用程序中有几个模板,我打算动态插入它们,其中一些可能需要共享数据,甚至可能使用相同的控制器。

我最近看到很多“控制器”的例子是'语法作为实现这一目标的一种方式,以及我所阅读的大部分内容都支持这种方法,但我不知道,我对此感到怀疑。

我想知道做这样的事情有什么好处和/或缺点(每个div都是一个插入的代码段/模板):

<div ng-controller="mainController as main">  
  mainController: <input type="text" ng-model="main.someValue" />
  main.someValue: {{ main.someValue }}
  <div ng-controller="anotherController as another">
    anotherController: <input type="text" ng-model="another.someValue" />
    main.someValue: {{ main.someValue }}
  </div>
</div> 

当我可以做这样的事情时:

<div ng-controller="mainController">  
  mainController: <input type="text" ng-model="someValue" />
  someValue: {{ someValue }}
</div> 

<div ng-controller="anotherController">
  anotherController: <input type="text" ng-model="anotherValue" />
  someValue: {{ someValue }}
</div>

使用服务连接我的两个模板中的数据。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用选项一将避免可怕的原型范围继承问题(谷歌“角点符号”),它更加符合Angular团队在未来特性和功能方面所处的位置。