• 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;
           })
    }
    }
    });
  • 相关阅读:
    jvm类加载机制
    线程误区-join,wait(里边还是调用的wait)
    线程间通信wait和notify【All】简介
    指令重排序
    window.opener
    scrollIntoView()
    保持饥饿,保持愚蠢
    执行sql语句,不依靠实体 获取string值
    join函数详解
    html常用代码大全
  • 原文地址:https://www.cnblogs.com/kaima/p/angularjs_directive_nested.html
Copyright © 2020-2023  润新知