Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 更新余烬嵌套模型和模板_Jquery_Ember.js_Handlebars.js_Jstree - Fatal编程技术网

Jquery 更新余烬嵌套模型和模板

Jquery 更新余烬嵌套模型和模板,jquery,ember.js,handlebars.js,jstree,Jquery,Ember.js,Handlebars.js,Jstree,我有一个由模型支持的模板。它是一个具有第一级文件夹的树状列表视图 我有一个操作处理程序,用于更新第一级文件夹中的任何子文件夹。从操作中,我需要更新模型,以便在模板中更新子项 我可以通过使用pushObject直接更新模型来添加另一个一级文件夹 如何添加/更新任何父级文件夹的子节点 在模板中: <script type="text/x-handlebars"> <h2> Welcome to Ember.js</h2> {{outlet}} </s

我有一个由模型支持的模板。它是一个具有第一级文件夹的树状列表视图

我有一个操作处理程序,用于更新第一级文件夹中的任何子文件夹。从操作中,我需要更新模型,以便在模板中更新子项

我可以通过使用pushObject直接更新模型来添加另一个一级文件夹

如何添加/更新任何父级文件夹的子节点

在模板中:

<script type="text/x-handlebars">
  <h2> Welcome to Ember.js</h2>
  {{outlet}}
</script>

<script type="text/x-handlebars" data-template-name="index">
    <ul>
      {{#each item in model}}
         <li>{{item.foldername}}</li>
      {{/each}}
    </ul>
    <button {{action 'createFolder'}}>Add First Level Folder</button>
    <button {{action 'createSubFolder'}}>Add Sub Folder</button>
</script>

JSBIN演示

您需要使用partials进行递归渲染

<script type="text/x-handlebars" data-template-name="index">
  <ul>
    {{#each model}}
      {{partial "tree"}}
    {{/each}}
  </ul>
</script>

<script type="text/x-handlebars" data-template-name="_tree">
  <li>{{foldername}}</li>
  <ul>
    {{#each children}}
      {{partial "tree"}}
    {{/each}}
  </ul>
</script>

    {{{#每个模型} {{部分“树”} {{/每个}}
  • {{foldername}}
    • {{{每个孩子} {{部分“树”} {{/每个}}

    这就是你要尝试的吗@谢谢你更新这个。我们需要更新多个孩子。我想添加一个子文件夹,然后再添加另一个子文件夹。我是否可以递归添加多个子文件夹的子级别?部分数据模板名称应以“\u”开头,因此部分名称应为“\u tree”。请参考@Jeevi谢谢。我没有注意到,因为它正在工作。我想知道为什么它一开始起作用。我想这以前是被支持的。
    <script type="text/x-handlebars" data-template-name="index">
      <ul>
        {{#each model}}
          {{partial "tree"}}
        {{/each}}
      </ul>
    </script>
    
    <script type="text/x-handlebars" data-template-name="_tree">
      <li>{{foldername}}</li>
      <ul>
        {{#each children}}
          {{partial "tree"}}
        {{/each}}
      </ul>
    </script>