猿问

angular @ 隔离作用域绑定时,link函数中访问不了值问题

详细:angular @ 隔离作用域绑定时,link 函数初始化的时候 scope 对象中有那个值,但是单独访问却 访问不了,但是在click函数里面异步调用时 却可以访问了

<!doctype html>

<html ng-app="myApp">

    <head>

         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

         <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>

    </head>

    <body>

<div ng-controller="myAppCtrl">

    <xingoo pd="sayHello"></xingoo>

    <xingoo pd="sayNo"></xingoo>

    <xingoo pd="sayYes"></xingoo>

</div>

<script type="text/javascript">

    var myAppModule = angular.module("myApp",[])

            .controller( 'myAppCtrl',[ '$scope', function ($scope) {

            } ] );

    myAppModule.directive("xingoo",function(){

        return {

            restrict:'AE',

            scope:{

                say:'@pd'

            },

            template:'<input type="text" ng-model="username"/><br>'+

            '<button ng-click="fnSay(username)">{{ say }}</button><br>',

            repalce:true,

            link : function(scope, element, attrs) {


                console.log(scope); // 打印出来的对象里面有 say 这个属性 且值是对的

                console.log(scope.say);// 打印出来是undefined

                scope.fnSay = function (name) {

                    console.log(scope);// 打印出来的对象里面有 say 这个属性 且值是对的

                console.log(scope.say);// 打印出来的值是对的

                };

            }

        }

    });

</script>

    </body>

</html>


gw_iron
浏览 1764回答 1
1回答

Say素描

我这边直接执行你的代码是好的额,你再检查检查?
随时随地看视频慕课网APP
我要回答