我刚刚发现,当在每个模型更新的指令中使用无限结构时,模板会因为太多的ng变化而搞砸了。这是由ng-include引起的(我想通了)。我通过templateUrl在我的指令模板中使用了一些这样的东西,这是用HAML编写的:
.btn-group{ :name => "FIXME", "ng-required" => "true" }
%a.btn.btn-default.dropdown-toggle{ "data-toggle" => "dropdown", href: "#", "ng-disabled"=>"ngDisabled" }
{{currentValue.name || dropdownPlaceholder }}
%span.caret
%ul.dropdown-menu{ "ng-show" => "!ngDisabled" }
%div{ "ng-repeat" => "model in ngModel", "ng-include" => "'node.html'" }
%script{ :type => "text/ng-template", :id => "node.html" }
%li{ "ng-click" => "selectValue(model)" }
%a
{{model.name}}
%ul{ "ng-repeat" => "model in model.children", :style => "margin-left: 10px;" }
%div{ "ng-include" => "'node.html'" }
在下拉列表上的许多点击上,视图似乎保留了旧项目,并且似乎另外推动了新项目,即使调试声明模型正确更新并清理(也在指令模型中检查)。我得到了这样的错误输出:
https://dl.dropboxusercontent.com/u/21600359/Bildschirmfoto%202013-10-13%20um%2001.31.30.png
有没有人可以给我一个关于如何进行ng-include刷新和重建指令模板树结构的提示?
我真的很感激!
亲切的问候, 亚历