0

我最近发现了 controllerAs 语法,我想知道它是否排除了将范围变量包装在对象中以获得引用的需要。

抱歉,我可能没有问清楚,但我的意思是以下两个声明彼此一样安全,还是在使用 controllerAs 时我仍然应该使用模型对象以避免嵌套范围的问题?

旧方法 -

$scope.model = {
    myData: "test"
}

<div ng-controller="myController">
    <input ng-model="model.test" />
</div>

控制器作为 -

$scope.myData = "test"

<div ng-controller="myController as myC">
    <input ng-model="myC.test" />
</div>
4

1 回答 1

1

不,容器不再是必需的,controllerAs 语法的主要目的之一是引入这种有用的模式,这有助于在不希望出现时(即几乎总是)消除范围内的原型继承影响。

如果需要,仍然可以通过在控制器中使用$scope而不是实现范围原型继承。this

于 2015-11-07T19:16:08.770 回答