请问为什么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
まず、出力されるのは名前と性別です。次に、サブスコープには myName と mySex があります。
また、say に出力されるのは、現在の環境における名前と性別です。たとえば、
var fn ;
リーリー