0

我刚刚发现,当在每次模型更新的指令中使用无限结构时,模板会因过多的 ng-changes 而变得混乱。这是由 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 刷新和重建指令模板树结构的提示?

我真的很感激!

亲切的问候,亚历克斯

4

0 回答 0