这次说的是scope配置项的“=”,这种绑定方式原理是绑定一个对象。以下为简单实例:
<div ng-app=“App” ng-controller=“ctrl”>
<input type=“text” ng-model=“name”
<dir model=“name”></dir>
</div>
<script>
var app=angular.module(‘App’,[]);
app.directive(‘dir’,function(){
return{
restrict:’AE’,
template:’<input type=‘text’ ng-model=‘model’ />
scope:{
model:’=‘
}
}
});
</script>
手动封装一个类似ng-model的指令。
这样两个输入框就就可以相互数据绑定了。
2.如何体现出绑定是对象,以下实例说明:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://cdn.bootcss.com/angular.js/1.4.0-beta.4/angular-1.4.0-beta.5/angular.js"></script>
</head>
<body ng-app="App" ng-controller="ctrl">
<p ng-model="user"></p >
<obj data="user[0]"></obj>
<script>
var app=angular.module('App',[]);
app.controller('ctrl',function($scope){
$scope.user=[{username1:'jack'},{username2:'tom'}];
//将user整成对象数组
});
app.directive('obj',function(){
return{
restrict:'AE',
template:'<p ng-model="user">{{user}}</p >',
scope:{
user:'=data'
}
}
});
</script>
</body>
</html>
最后输出:{user,jack}
网友评论