Angular1.3:递归指令模板中的访问控制器函数?

时间:2015-07-17 20:07:00

标签: javascript angularjs web-applications angularjs-directive frontend

我可以使用$ parent运算符在我的父指令中访问控制器函数一次,但这在递归子指令中不起作用。 下面是我的代码示例(我试图将其缩短一点):

//控制器示例(使用controllerAs定义):---

variables    data
X1           2.6
X2           2.5
X3           2.9

//'注释'指令模板: -

  var View2Ctrl = function(){

      //function i am trying to access:
      this.getNumber = function(){
        return 5;
      }
.
.
.
angular.controller('View2Ctrl',............

//'注释' directive.js:---

<li>
      <!-- I'm trying to access the function in here: -->
      <!-- below line works just once here, does not load in recursive child directives below:  -->
      <strong> Number: </strong> {{ $parent.View2Ctrl.getNumber() }}

          <!-- below line gets replaced with a recursive child directive again -->
          <span class="comments-placeholder" ></span>     
</li>

1 个答案:

答案 0 :(得分:1)

您可以使用elements.addObjectsFromArray访问父控制器的this

require

但是,拥有一个充当模型的服务并保存控制器和指令的数据总是更好。