Rumah > Soal Jawab > teks badan
Kod HTML
<p ng-controller="MainController">
control:<input type="text" ng-model="testname" />
directive:<xingoo name="testname"></xingoo>
</p>
Kod Sudut
var myAppModule = angular.module('myApp', []);
myAppModule
.controller('MainController', function($scope){
$scope.testname = 'my name is xingoo';
})
.directive('xingoo', function(){
return{
restrict:'AE',
scope:{
name:'='
},
template:'<input type="text" ng-model="name"/>',
replace:true
};
});
Di bawah kedua-dua keping kod ini, kotak input kawalan terikat pada kotak input arahan Sebarang perubahan dalam nilai pada satu bahagian akan menyebabkan perubahan pada bahagian yang lain. Ini pemahaman saya, saya tidak tahu sama ada betul atau tidak
1. Pertama, dalam pengawal MainController, kami menggunakan model ng untuk mengikat kotak input dan nama ujian nilai dalam skop semasa MainController;2. Dalam arahan, kami menetapkan skop:{name:'='}, jadi Angular akan mengikat nama dalam bentuk pembolehubah, dan nilai yang kami masukkan untuk nama ialah
3. Jadi, dalam templat:'<input type="text" ng-model="name" />' sebenarnya bersamaan dengan <input type="text" ng-model="textname"/ >;
4. Kerana arahan itu akan mencipta skop kanak-kanak baharu, dan skop kendiri ini boleh mengakses skop induknya, iaitu $skop pengawal MainController, jadi kotak input dan arahan kami kedua-duanya terikat secara Dwiarah kepada $scope .testname dalam skop semasa.