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;
           })
    }
    }
    });
  • 相关阅读:
    算法技巧之打表
    Python_爬虫_爬取网络图片信息01
    python_爬虫_爬取京东商品信息
    Python——turtle库学习
    Python学习笔记——函数
    131219流水账
    121219流水账
    081219~111219流水账
    071219流水账
    061219流水账
  • 原文地址:https://www.cnblogs.com/kaima/p/angularjs_directive_nested.html
Copyright © 2011-2022 走看看