0
我是AngularJS的新手。我已經開始從基礎知識中學習,並開始做最簡單的例子和自定義的例子。最近我發現了AngularJS的一些奇怪的行爲。控制器和指令變量的作用域
我有下面的代碼片段:
angular.module('test', [])
\t .controller('aCtrl', function($scope){})
\t .controller('bCtrl', function($scope){
\t \t \t $scope.message = 'Hello!';
\t })
\t .directive('b',function()
\t {
\t \t return {
\t \t \t controller: 'bCtrl',
\t \t };
\t });
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
\t <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
\t <script type="text/javascript" src="src.js"></script>
</head>
<body ng-app="test">
<div ng-controller="aCtrl">
{{ message }}
</div>
<div b>
</div>
</body>
</html>
正如你可以看到在這個例子中,我們定義我們的模塊 - test
,一個指令b
和兩個控制器:aCtrl
和bCtrl
,並將bCtrl
綁定到b
。在bCtrl
的$scope
服務中,我們定義變量message
並將字符串Hello!
賦值給它。在html
的代碼中,您可以看到body
元素,其中ng-app="test"
和其中的兩個div
元素:一個是aCtrl
控制器,另一個是b
指令。
上述代碼產生我
Hello!
時,據我所知,應該沒有產生,因爲在aCtrl
控制器的$scope
沒有定義的變量message
。
這是正常行爲還是我缺少AngularJS控制器和指令的一些東西?
aCtrl不產生任何輸出你好!來自指令 – Pravin