使用 angularjs "controllerAs" 语法时,拥有容器对象仍然是一种好习惯吗?

When using the angularjs "controllerAs" syntax is it still good practice to have a container object?

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

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

旧方法 -

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

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

ControllerAs -

$scope.myData = "test"

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

不,容器不再是必需的,controllerAs 语法的主要目的之一是引入这种有用的模式,这有助于在不希望的情况下(即几乎总是)消除作用域中的原型继承影响。

如有必要,仍然可以通过在控制器中使用 $scope 而不是 this 来实现作用域原型继承。