Почему привязка в шаблоне не работает?

У меня есть вопрос относительно использования управления угловым деревом, почему {{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

Вопрос:

В строке 8 сценария plnkr "scripts.js" почему {{node.label}} плохо связывается.

В нашем проекте я часто использовал управление угловым деревом, в некоторых сценариях мы хотим иметь динамическое процентное значение перед значком узла. Вот почему мне нужно связывание здесь.

1 ответ

В HTML было использовано несколько неправильных выражений, которые не будут работать

  1. {{options.ulClass}} похоже, неправильно, angularjs не добавляет атрибут с помощью {{}}(Интерполяция). Так должно быть ng-class="options.ulClass"
  2. Также ng-repeat имеет неправильное выражение

    ng-repeat="node in node[options.nodeChildren] 
            | filter:filterExpression:filterComparator(options.orderBy)"
    
Другие вопросы по тегам