Angularjs Angular MyCtrl代替scope不适用于我

Angularjs Angular MyCtrl代替scope不适用于我,angularjs,controller,scope,Angularjs,Controller,Scope,我有一张有一百个字段的表格。 作为辅助控制器的一部分,我试图避免使用$scope将数据绑定到视图。我的做法是: angular .module('app') .controller('SequencesController', SequencesController) // main controller for the view .controller('AccordionCtrl', AccordionCtrl); // the one I'm targetting

我有一张有一百个字段的表格。 作为辅助控制器的一部分,我试图避免使用$scope将数据绑定到视图。我的做法是:

angular
    .module('app')
    .controller('SequencesController', SequencesController) // main controller for the view
    .controller('AccordionCtrl', AccordionCtrl); // the one I'm targetting

AccordionCtrl.$inject = ['$scope','$http'];
function AccordionCtrl($scope,$http) {
    this.foo = "bar";
}
我在我的观点中使用了这个,但它不起作用

<div ng-controller="AccordionCtrl as acc">
           Acc : {{ acc.foo }}
</div>

当您试图访问对象(控制器)属性:
{{acc.foo}
,angular在后面做的是:$scope.acc.foo,因为angular就是这样工作的,所以您必须在范围内定义变量


如果不想插入显示的变量,请在作用域内创建两个不同的对象:$scope.viewVars和$scope.backVars,并分别添加它们所需的所有属性。

发布的代码没有问题,可能是其他因素影响了它们。发布更多的代码。或者更好的是,创建一个plunkr来重现问题。在那里添加了更多的信息,到plunker去尝试和模仿itOk,我试图避开范围。原因是,当我加载这个控制器时,它调用一个包含数百个元素的json对象,我的观察者将增加到1500+个,无需创建更多的对象;Underfrog使用控制器作为语法很好,应该按原样工作。HTML或其他脚本中可能有问题。@Underfrog使用controllerAs不会改变您的观察者数量和页面性能。好的,谢谢大家。因为这是一个相当大的项目,所以我不能把它抢走。我知道代码是正确的,会被其他地方污染。我通过使用{{::foo}}减少了大量的观察者,而我以前使用的是{{foo}
.when('/sequences', {
            controller: 'SequencesController',
            templateUrl: 'app/Sequences/sequences.view.html',
            controllerAs: 'vm'
        })