我的HTML ...
<body id="main">
{{pageName}}
</body>
我的JS:
angular.module('myApp',[])
.controller('myController', function($scope){
console.log('init');
$scope.pageName = 'My page';
});
angular.element(document).ready(function(){
angular.bootstrap(document.getElementById('main'), ['myApp']);
});
我的结果HTML:
{{pageName}}
代替“我的页面”
我可以这样做
<body id="main" ng-controller="myController">
</body>
它将开始工作。但是,重点是什么。为什么我必须使用ng-controller
?
我希望我已经说清楚了。希望有人能回应这个。
答案 0 :(得分:1)
我认为原因是你在myController
中设置了pageName,但是div不能使用它,因为控制器既没有在它上面定义,也没有在它的父节点上定义。
pageName
以使其正常工作。您可以在模块的运行块中定义它,如
angular.module('myApp',[]).run(function($rootScope) {
$rootScope.pageName='My Page';
});
此运行块在角度已引导应用程序之后运行。见这里
http://docs.angularjs.org/guide/module