javascript - 尽管 ng Include angularjs 不会显示 html 父内容

标签 javascript html angularjs angularjs-ng-transclude angularjs-ng-include

我有这两个用于 TreeView 的模板,我想使用第一种方法,但似乎有问题或者我错过了一些东西。

第一种方法(理想但行不通)
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 的想法

第二种方法(不理想但有效)

树模板.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>

请帮我弄清楚发生了什么。

最佳答案

ng-include 属性将 li 中的所有内容替换为 NodeTemplate 中的内容。这就是您的 {{node.text}} 未显示的原因。

你的第二种方法几乎是理想的,我不明白你为什么不喜欢它。据我所知,NodeTemplate 应该是树中的单个节点,这意味着它也应该负责渲染节点文本。

我只需删除 li 中的 {{node.text}} 即可,因为它将被 ng-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>

关于javascript - 尽管 ng Include angularjs 不会显示 html 父内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34877235/

相关文章:

javascript - 如何按值获取对象索引?

javascript - SQLite - 由于约束失败而无法执行语句(19 约束失败)

javascript - 如何在 PHP 上使用输入搜索下拉列表

javascript - 在 AngularJS/bootstrap 中将对象传递到模式对话框

html - 调整大小后如何使菜单可点击?

python - 如何在 Python 中转义撇号等?

css - 将事件类添加到 angularJS 中的 Font Awesome 列表项

javascript - 单击按钮时,如何在 AngularJs 中设置一个指令的值

javascript - 为什么 '(function a() {})'不把 'a'放到全局对象中呢?

javascript - 为什么我的对象被声明但从未读取(在函数内)?