控制器作为语法不适用于 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
。它们是不同的,可以任意命名。
我已经切换到控制器作为 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
。它们是不同的,可以任意命名。