Angular子指令不反映父属性

时间:2016-09-15 17:13:02

标签: javascript angularjs

我对Angular很新,并试图将我的内容分解为指令。到目前为止,它工作得相当好,除了在我将一个集合从父级传递给子级的一个地方,它似乎只是在链接期间成功传递。

所以我的对象看起来有点像这样:

var comment = {
    title: "Hello",
    author: "Clever Hans",
    likes: [ { userId: 12, name: "Alice" }, { userId: 15, name: "Bob"} ]
};

在我的模板中,我有类似的东西:

<div id="comment-container">
    <h3>{{comment.title}}</h3>
    <p>By {{comment.author}}</p>
    <div>{{comment.likes.length}} likes: </div>
    <like-list comment-likes="comment.likes"></like-list>
</div>

然后我有第二个子指令:

angular.module('myapp.components').directive('likeList', function() {
      return {
          restrict: 'E',
          replace: true,
          scope: {
              commentLikes: '='
          },
          link: function( scope, element, parameters ) {
                // ????
          }
      }
});

我遇到的问题是当我的comment对象更新时,额外的like被添加了相应的模板更新,但likeList指令却没有。 count属性在父模板上更改,但我无法弄清楚如何组织子进程以便更新通过。我已经尝试在commentLikes属性上设置监视,但a)在本地属性上执行此操作似乎很奇怪,并且b)它不起作用。我该怎么做才能确保我的嵌套指令在应该更改时发生变化?

0 个答案:

没有答案