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;
           })
    }
    }
    });
  • 相关阅读:
    JDBC事务
    JDBC连接池和DBUtils
    原生JDBC
    基本的查询语句
    多表查询
    mysql单表
    基础加强_XML
    基础加强_注解_类加载器_动态代理
    页面加载loading动画
    移动端手动控制页面高度
  • 原文地址:https://www.cnblogs.com/kaima/p/angularjs_directive_nested.html
Copyright © 2011-2022 走看看