今回は、角度独立スコープを使用するための概念について説明します。 角度独立スコープを使用する際の注意点は何ですか? 以下は実際のケースです。 <!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<title>Document</title></head><body ng-app="myApp" ng-controller="mainController">
<ceshi></ceshi>
<script src="angular.js"></script>
<script>
var myApp = angular.module('myApp',[]);
myApp.directive('ceshi',function(){ var option = {
template:'<p>{{abc}}</p>'
}; return option;
});
myApp.controller('mainController',function($scope){
$scope.abc = 'ericzheng';
}); </script></body></html>
内で複数回使用する必要があります。 上記のシナリオと同様に、入力ボックスのデータを変更すると、同時に他のタグのデータも変更されます。現時点では、これは明らかに望ましくないことです。
独立したスコープに変換するには、コードを 1 行だけ必要とします:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body ng-app="myApp" ng-controller="mainController"> <ceshi></ceshi> <script src="angular.js"></script> <script> var myApp = angular.module('myApp',[]); myApp.directive('ceshi',function(){ var option = { template:'<p>{{abc}}</p>', scope:{} }; return option; }); myApp.controller('mainController',function($scope){ $scope.abc = 'ericzheng'; }); </script></body></html>
一方向
データ バインディングoperator、二重引用符で囲まれたコンテンツはバインディングの 文字列 として扱われます <!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<title>Document</title></head><body ng-app="myApp" ng-controller="mainController">
<my-directive name="aaaa"></my-directive>
<script src="angular.js"></script>
<script>
var myApp = angular.module('myApp',[]);
myApp.directive('myDirective',function(){ var option = {
template:'<p>wew{{name}}<p/>',
scope:{
name:'@'
}
}; return option;
});
myApp.controller('mainController',function($scope){
}); </script></body></html>
双方向データ バインディング
=演算子は変数にバインドされます
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body ng-app="myApp" ng-controller="mainController"> <input type="text" ng-model="abc"> <my-directive name="abc"></my-directive> <script src="angular.js"></script> <script> var myApp = angular.module('myApp',[]); myApp.directive('myDirective',function(){ var option = { template:'<p>wew{{name}}<input ng-model="name"><p/>', scope:{ name:'=' } }; return option; }); myApp.controller('mainController',function($scope){ $scope.abc = 'ericzheng'; }); </script></body></html>
name=" abc" がコアです。 左側の接続は独立したスコープであり、右側の接続は外部スコープのモデル abc です
親スコープの動作を使用します
&演算子はメソッドです
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body ng-app="myApp" ng-controller="mainController"> <my-directive fn1="fn2(name)"></my-directive> <script src="angular.js"></script> <script> var myApp = angular.module('myApp',[]); myApp.directive('myDirective',function(){ var option = { restrict:'E', template:'<button ng-click="fn1({name:\'username\'})">wfewef</button>', scope:{ fn1:'&' } }; return option; }); myApp.controller('mainController',function($scope){ $scope.fn2 = function(attr){ console.log(attr); } }); </script></body></html>
理解方法:
命令が内部でどのように実装されているかに関係なく、まずその使用方法を見て、次に対応する親スコープ内の変数またはメソッドがどのように定義されているかを見てください。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
angular でのscopel ディレクティブの使用の詳細な説明 Angular マテリアルの使用の詳細な説明 angularjs での $apply() の使用の詳細な説明以上がAngular での独立したスコープの使用の概念の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。