我使用nodejs memoize来对Angularjs中的一个对象进行分块(以便更好地将它与bootstrap列一起使用)
app.filter('chunk', function() {
return memoize(chunk);
});
并在视野中:
<div class="row" ng-repeat="row in groupProjects | chunk:4">
<div class="col-xs-12 col-sm-6 col-md-3" ng-repeat="item in row">
{{item.name}}
</div>
</div>
但是如果我在控制器中获得了groupProjects的新数据,则不会更新w视图。如果我删除过滤器,它会更新,但不会更新。
导致问题的原因是什么?感谢
答案 0 :(得分:0)
不确定public void leftTrue(){
left = true;
}
public void rightTrue(){
right = true;
}
public void registerSource(String linkId, DragNode linkNode) {
linkedNodeID = linkNode.getId();
double nodeWidth1 = linkNode.getWidth()/2;
if(DragNode.linkNodeOneX <= nodeWidth1){
leftTrue();
}else{
rightTrue();
}
if(left || right){
connectList.add(new NodeList<Boolean, Boolean, String>(left, right, linkedNodeID));
left = false;
right = false;
}
}
public void registerTarget(String linkId, DragNode linkNode) {
linkedNodeID = linkNode.getId();
double nodeWidth2 = linkNode.getWidth()/2;
if( DragNode.linkNodeTwoX < nodeWidth2){
leftTrue();
}else{
rightTrue();
}
if(left || right){
connectList.add(new NodeList<Boolean, Boolean, String>(left, right, linkedNodeID));
left = false;
right = false;
}
}
的价值是什么,但假设它是一个函数,那么您的代码应如下所示:
chunk
答案 1 :(得分:0)
我不明白为什么NodeJS应该参与其中,但无论如何,你可以通过在你的应用中注入下划线(或lodash)来做到这一点。请注意,我们会记住此函数以防止Angular启动无限量的摘要。
app.factory "lodash", ["$window", ($window)->
$window._
]
#filters
app.filter "chunk", ["lodash", (_)->
_.memoize _.chunk
]