我对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)它不起作用。我该怎么做才能确保我的嵌套指令在应该更改时发生变化?