html没有在ng-template中呈现

时间:2017-04-09 07:07:06

标签: angularjs json laravel angularjs-ng-repeat ng-template

我有一些正确格式的json从laravel控制器传递,我想用angular递归显示它们但是ng-template中的HTML没有呈现。怎么了?

注意:我将角度默认代码{{}}替换为< %%>

<div id="treeViewContent" ng-init="getTreeData()">

      <script type="text/ng-template" id="directoryTree">
        <div class="tree-item" ng-click="loadDir(dir.address)">
          <i class="fa fa-folder orange"></i>
          <% dir.name %>
        </div>
        <ul ng-if="dir.subdir">
            <li ng-repeat="dir in dir.subdir" ng-include="'directoryTree'"></li>
        </ul>
      </script>
      <ul class="noselect">
          <li>
            <div class="tree-item" ng-click="loadDir('/')">
              <i class="fa fa-hdd-o blue"></i>
              {{ ucfirst(\Auth::user()->username) }}
            </div>
            <ul>
              <li ng-repeat="dir in dirs" ng-include="'directoryTree'"></li>
            </ul>
          </li>
      </ul>

    </div>

和getTreeData()是:

  $scope.dirs = [];

  $scope.getTreeData = function()
  {
      $http.post("/admin/drive/treeData", {_token: csrf_code}).then(function(response)
      {
        if (response.status == 200)
        {
          $scope.dirs = response.data;
        }
        else
        {
          Flash({status: "failed", message: "Error"});
        }
      })
  }

和json数据

 [  
   {  
      "name":"image",
      "address":"\/image",
      "subdir":[  
         {  
            "name":"document",
            "address":"\/image\/document",
            "subdir":[  

            ]
         }
      ]
   },
   {  
      "name":"document",
      "address":"\/document",
      "subdir":[  

      ]
   },
   {  
      "name":"movies",
      "address":"\/movies",
      "subdir":[  

      ]
   }
]

1 个答案:

答案 0 :(得分:0)

请找到plunkr链接plnkr.co/edit/B33ZhzU03CyS45a0lX4w?p=preview,上面的代码工作正常。请检查json结构或在此处发布json。