2017-04-04 98 views
0

我有一些jsons数据如下,当我试图用ng-include和ng-template递归地打印它们(如下所示)时,ng-include的内部html代码不会呈现它是空白的。 和其他问题是,在打印ng-include时,它只是打印1级递归,并且不会继续打印。HTML不呈现在ng模板角

有什么不对?

JSON数据:

[{"name":"default","path":">var>www>rapa-v2>themes>","subdir":[{"name":"css","path":">var>www>rapa-v2>themes>>default","subdir":[{"name":"images","path":">var>www>rapa-v2>themes>>default>css","subdir":[]},{"name":"style.css","path":">var>www>rapa-v2>themes>>default>css"}]},{"name":"index.blade.php","path":">var>www>rapa-v2>themes>>default"},{"name":"information.json","path":">var>www>rapa-v2>themes>>default"},{"name":"screen.jpg","path":">var>www>rapa-v2>themes>>default"}]}]

HTML代码:

<div class="theme-files-list ltr" ng-init="loadDir('{{ $theme }}')"> 
    <script type="text/ng-template" id="directoryTree"> 
     <div class="tree-item"> 
     <i class="fa fa-file-text-o maroon"></i> 
     <a href="<% '/admin/setting/template/edit/{{ $theme }}/'+item.name %>"> 
      <% item.name %> 
     </a> 
     </div> 
     <ul ng-if="item.subdir"> 
      <li ng-repeat="item in item.subdir" ng-include="'directoryTree'"></li> 
     </ul> 
    </script> 
    <ul class="noselect"> 
     <li> 
      <div class="tree-item bg-aqua"> 
      <i class="fa fa-paint-brush blue"></i> 
      {{ ucfirst($theme) }} 
      </div> 
      <ul> 
      <li ng-repeat="item in themeDir" ng-include="'directoryTree'"></li> 
      </ul> 
     </li> 
    </ul> 
</div> 

重要:我用laravel和用于刀片系统的打印,我已经取代角度打印符号{{}}与<%>

+1

可以使用Laravel'@ {{}}'不要求你改变角度'{{}}'语法 – PaladiN

回答

0

我认为你必须使用不同的代码。你的json代表一个文件夹树,但在角度应用程序中,你只在第一级迭代,在第一级你只有一个子目录。

如果你正确格式化你的json响应,你可以很容易地理解这一点。

[ 
    { 
    "name":"default", 
    "path":">var>www>rapa-v2>themes>", 
    "subdir": 
     [ 
     { 
      ******** You're targeting this element below ********** 
      "name":"css", 
      "path":">var>www>rapa-v2>themes>>default", 
      "subdir": 
        [ 
        { 
         "name":"images", 
         "path":">var>www>rapa-v2>themes>>default>css", 
         "subdir":[] 
         }, 
         { 
         "name":"style.css", 
         "path":">var>www>rapa-v2>themes>>default>css" 
         } 
        ] 
     }, 
     { 
     ******** This doesn't has subdir ********** 
      "name":"index.blade.php", 
      "path":">var>www>rapa-v2>themes>>default" 
     }, 
     { 
     ******** This doesn't has subdir **********    
      "name":"information.json", 
      "path":">var>www>rapa-v2>themes>>default" 
     }, 
     { 
     ******** This doesn't has subdir ********** 
      "name":"screen.jpg", 
      "path":">var>www>rapa-v2>themes>>default" 
     } 
     ] 
    } 
] 

所以,你必须改变JSON或改变NG-重复

+0

我试图用subdir属性来分隔文件夹和文件,那么你对json格式的建议是什么? – Abolfazl

+0

我还有问题。 – Abolfazl