Rumah > Soal Jawab > teks badan
请问为什么alert中最后弹出的数据是父作用域的
点击执行子域的say方法的结果
代码如下:
<p ng-app="myModule">
<h3>请分别修改父、子作用域表单里的值</h3>
<p ng-controller="myController">
父作用域:<br/>
<input type="text" ng-model="name" /><br/>
<input type="text" ng-model="sex" /><br/>
<input type="button" ng-click="say()" value="点击执行父域的say方法" /><br/>
子作用域:<br/>
<my-directive my-name="{{name}}" my-sex="sex" get-name='say()'></my-directive><br/>
</p>
</p>
<script src="../angular-1.5.8/angular.js"></script>
<script type="text/javascript">
var myModule = angular.module("myModule", []);
myModule.controller("myController", ['$scope', function($scope){
$scope.name = "wangmeijian";
$scope.sex = "boy";
$scope.say = function(){
alert( $scope.name +" is a"+ $scope.sex )
}
}])
myModule.directive("myDirective", function(){
return {
restrict: "EA",
scope: {
myName: "@",
mySex: "=",
getName: "&"
},
template: "<input type='text' ng-model='myName' /><br/>"+
"<input type='text' ng-model='mySex' /><br/>"+
"<input type='button' ng-click='getName()' value='点击执行子域的say方法' />",
}
})
</script>
黄舟2017-05-15 17:09:51
Pertama sekali, apa yang tertera ialah nama dan jantina. Kemudian terdapat myName dan mySex dalam subskop anda.
Selain itu, apa yang dicetak dalam katakan adalah nama dan jantina dalam persekitaran semasa Terdapat konsep penutupan di sini, berikut adalah contoh
function test1() {
var t = 1;
fn = function(){
console.log(t);
}
}
function test2() {
var t = 2;
fn();
}
test1();
test2(); //打印的是 1