我想知道angularjs中“ Controller as”或“ $ scope”语法之间的主要区别是什么。
它们是否会对性能产生影响,如果可以,则首选哪种语法。
“控制器为”语法肯定会提高代码的可读性,因为Knockout.js和其他JavaScript框架遵循相同的语法。
$ scope将提供范围继承,有时会给我们带来奇怪的行为,例如
<div ng-controller="firstController">
ParentController: <input type="text" ng-model="parent"/>
<div ng-controller="secondController">
ChildController: <input type="text" ng-model="parent" />
</div>
</div>
app.controller('ParentController', function ($scope) {
$scope.parent = "parentScope";
}).controller('ChildController', function ($scope) { /*empty*/ });
a)最初child将获得parent属性,并且在我们更新父级时显示“ parentScope”,child也将得到更新。但是,如果我们现在更改了child属性,则更新父级不会修改child,因为它具有自己的scope属性。
b)如果我将控制器用作语法更改子节点,那么也会更新父节点。
牛魔王的故事
POPMUISE
相关分类