我有一个变量我在我的视图中设置,ng-init然后我尝试在我的控制器中访问.然而,当我尝试访问它时,我得到了一个undefined.
相关代码:
我的看法:
<div ng-controller="MyCtrl">
<div ng-init="pageTitle = 'kittens'">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我的控制器:
var MyCtrl;
MyCtrl = function($scope) {
return console.log($scope.pageTitle);
};
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
Dmi*_*kin 36
等到变量为init.
$scope.$watch('pageTitle', function () {
console.log($scope.pageTitle);
});
Run Code Online (Sandbox Code Playgroud)
Ben*_*Ben 15
您还可以利用JavaScript定义函数的方式,并使用ng-init的函数而不是$ watch(jsfiddle).
<div ng-app>
<div ng-controller="MyCtrl" ng-init="pageTitleEquals('kittens')">
Page title is {{ pageTitle }}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
控制器:
var MyCtrl = function($scope) {
$scope.pageTitleEquals = function(title) {
$scope.pageTitle = title;
}
};
Run Code Online (Sandbox Code Playgroud)
这个问题类似:如何使用ng-init设置范围属性?