控制器作为语法不适用于 angular 1.4.5 var vm = 此模板未显示

controller as syntax not working with angular 1.4.5 var vm = this template not showing

我已经切换到控制器作为 angular 1.5 -1.6 项目等的语法... 我需要为 angular 1.4.5 项目添加一些功能的特定项目。

通常我使用 angular 路由等。但是这个项目的设置不同。

我的模板有问题 html,我可以看到

$scope.blah   //  {{ blah}} 

但我不明白为什么或如何访问 this

控制器:

icisNg.controller("hearingListing", ['$scope', '$rootScope',
    function ($scope, $rootScope) {

        $scope.blah = 333;
        var vm = this;
        vm.whatever = 'controller as';
        $scope.atEnd = "endsdfgsdfgsdfg";
        console.log('scope', $scope.atEnd);
        console.log('vm', vm.whatever);

    }

]);

Html 模板:

<div fieldset-wrapper legend="Hearing" ng-controller="hearingListing">

    <div>test again</div>

    <div>{{blah}}</div>

    eewr
    <br />
    vm:{{vm.whatever}}
    <br />
    {{atEnd}}
</div>

根据代码的呈现方式,最方便的方法是...

改变

ng-controller="hearingListing"

ng-controller="hearingListing as vm"

===

此外,请记住控制器 中的变量 vm 不会 引用模板中的同一个 vm。它们是不同的,可以任意命名。