私は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
、1つのディレクティブb
と二つのコントローラ:aCtrl
とbCtrl
を、 bCtrl
からb
にバインドします。 bCtrl
の$scope
サービスでは、変数message
を定義し、文字列Hello!
を割り当てます。 html
コードでは、要素がng-app="test"
と2つのdiv
要素が含まれています.1つはaCtrl
コントローラ、もう1つはb
ディレクティブです。 $scope
aCtrl
のコントローラで定義された変数message
がないので、それは、私の知る限り理解し、何を作るべきではない時には、上記
コードは私に
Hello!
を生成します。
これは正常な動作ですか、あるいはAngularJSコントローラとディレクティブについて何か不足していますか?
aCtrlは何も出力しませんHello!指示から来る – Pravin