zoukankan      html  css  js  c++  java
  • AngularJS指令嵌套时link函数执行顺序的问题

    今天研究指令嵌套时,发现子指令的link函数先于父指令的link函数执行

    这样和预想的顺序不一样。

    也就是说,如果子指令的某个scope变量依赖于父指令传来的参数时,可能一直是undefinded比如:

    APP.directive("子指令", function () {
    return {
    scope: {
          变量A:"=父指令的参数"
         },
    restrict: 'A',
    replace: false,
    link: function (scope, elem, attr) {
    scope.变量B=scope.变量A;//变量量B其实永远是undefinded,因为Link先于父指令的Link执行,
                         //导致此时子指令还没有得到父指令传来的参数值。

    }
    }
    });

    怎么办呢?用scope.watch解决吧。

    APP.directive("子指令", function () {
    return {
    scope: {
          变量A:"=父指令的参数"
         },
    restrict: 'A',
    replace: false,
    link: function (scope, elem, attr) {
    scope.$watch("变量A",function(){
              scope.变量B=scope.变量A;
           })
    }
    }
    });
  • 相关阅读:
    JetBrains 里不为人知的秘密(2)--快捷键篇
    phpstorm 2017之输入法
    JetBrains 里不为人知的秘密
    Windows Server 2012 远程连接
    visibility和display的区别
    【dp】摘花生
    【dp】 背包问题
    【dp】求最长公共子序列
    【dp】合唱队形
    【dp】友好城市
  • 原文地址:https://www.cnblogs.com/kaima/p/angularjs_directive_nested.html
Copyright © 2011-2022 走看看