This time I will bring you the concept of using angular independent scope. What are the precautions for using angular independent scope? The following is a practical case, let’s take a look. <!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>
Need to be used multiple times. Similar to the above scenario, changing data in any input box will cause the data in other tags to change at the same time. This is obviously not what we want. At this time, an independent scope is needed.
To convert to an independent scope, you only need one line of code:
<!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>
One-way
Data bindingOperator, the content within double quotes is treated as string for binding <!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>
Two-way data binding
=The operator is bound to a variable
<!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"This is In the core, what is connected to the left is the independent scope, and what is connected to the right is the model in the external scope abc
##The behavior of using the parent scope
& The content of the operator binding is a method<!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>
How to understand: Regardless of how the instruction is implemented internally, first look at how to use it, and then look at the corresponding How are the variables or methods in the parent scope defined.
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Detailed explanation of the use of scopel directive in angular
Detailed explanation of the use of Angular Material
Detailed explanation of the use of $apply() in angularjs
The above is the detailed content of The concept of using independent scopes in Angular. For more information, please follow other related articles on the PHP Chinese website!