0

ツリー ビュー用のこれら 2 つのテンプレートがあります。最初のアプローチを使用したいのですが、問題があるか、何かを見逃しているようです。

最初のアプローチ (望ましいが機能しない)
TreeTemplate.html

<ul>
    <li ng-repeat="node in c.model" style="list-style-type: none;" ng-include="'/_Core/DirectiveCore/Tree/NodeTemplate.html'">
        {{node.text}} <!--It wont show up , the problem is here, any tags will not show up in result-->
    </li>
</ul>

NodeTemplate.html

<ul ng-if="node.nodes">
<li ng-repeat="node in node.nodes" style="list-style-type: none;" ng-include="'/_Core/DirectiveCore/Tree/NodeTemplate.html'">
    {{node.text}}
</li>

<li></li>TreeTemplate.html のすべてが表示されないng-include

2 番目のアプローチ (望ましくないが機能する)

TreeTemplate.html

<ul>
<li ng-repeat="node in c.model" style="list-style-type: none;" ng-include="'/_Core/DirectiveCore/Tree/NodeTemplate.html'">
   <!--there is not any tag here!-->
</li>

NodeTemplate.html

    {{node.text}}
<ul ng-if="node.nodes">
    <li ng-repeat="node in node.nodes" style="list-style-type: none;" ng-include="'/_Core/DirectiveCore/Tree/NodeTemplate.html'">
        {{node.text}}
    </li>
</ul>

何が起こっているのかを理解するのを手伝ってください。

4

1 に答える 1

1

属性は、 内のすべてを のコンテンツng-includeに置き換えています。これが、あなたが現れない理由です。liNodeTemplate{{node.text}}

あなたの2番目のアプローチはほぼ理想的です.なぜあなたがそれを好まないのかわかりません. 私が得たものから、 はNodeTemplateツリー内の単一のノードである必要があります。つまり、ノード テキストのレンダリングも担当する必要があります。

に置き換えられるため、そこ{{node.text}}の内部を削除するだけです:ling-include

{{node.text}}
<ul ng-if="node.nodes">
  <li ng-repeat="node in node.nodes" style="list-style-type: none;" ng-include="'/_Core/DirectiveCore/Tree/NodeTemplate.html'" />
</ul>
于 2016-01-19T13:09:06.323 に答える