为什么绑定模板不起作用?

时间:2018-03-13 08:37:58

标签: angularjs angularjs-directive angular-compiler

我有一个关于角度树控件使用的问题,为什么{{node.label}}在下面的代码中没有成功绑定... 例如,我有一个自定义节点模板,如下所示:

<ul {{options.ulClass}}>
     <li ng-repeat="node in node.{{options.nodeChildren}} | filter:filterExpression:filterComparator {{options.orderBy}}"
         ng-class="headClass(node)"
         {{options.liClass}}
         set-node-to-data>
          {{node.label}}
         <i class="tree-branch-head" ng-class="iBranchClass()" ng-click="selectNodeHead(node)"></i>
         <i class="tree-leaf-head {{options.iLeafClass}}"></i>
         <i>
             <b>
                 <div class="tree-label {{options.labelClass}}" ng-class="[selectedClass(), unselectableClass()]"
                      ng-click="selectNodeLabel(node)" tree-transclude></div>
             </b>
         </i>
         <treeitem ng-show="nodeExpanded()"></treeitem>
     </li>
 </ul>

这里{{node.label}}绑定不起作用,我怎样才能使它绑定。

我创建了一个简单的plnkr来说清楚:

https://plnkr.co/edit/WdnJhmuZtibU0AyiDU3s?p=preview

问题:

在plnkr'scripts.js'第8行中,为什么{{node.label}}绑定不好。

我在项目中经常使用角度树控件,在某些情况下我们希望在节点图标前面有一些动态百分比值。这就是我在这里需要绑定的原因。

1 个答案:

答案 0 :(得分:0)

HTML上使用了多个错误的表达式,无法正常工作

  1. {{options.ulClass}}似乎有误,angularjs不会使用{{}}(插值)添加属性。它应该是ng-class="options.ulClass"
  2. ng-repeat表达式错误

    ng-repeat="node in node[options.nodeChildren] 
            | filter:filterExpression:filterComparator(options.orderBy)"