html在ng模板中没有呈现
问题描述:
我有一些从laravel控制器传递的正确格式的json,我想用角度递归地显示它们,但ng模板中的HTML内容未呈现。怎么了?html在ng模板中没有呈现
注:我取代的角默认标签{{}}与<%%>
<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":[
]
}
]
嗨@menhajrrt,a)看起来像'getTreeData()'应该在本地'$ scope'中的'dir'属性。你能提供这个函数的代码吗? b)与此同时,您可以在开发者控制台中检查** directoryTree **标记的作用域是否具有任何'dir'属性。 –
@ KonstantinA.Magg嗨,a)发布更新,b)它的json数据是正确的,这个代码已经在laravel 5.2中工作,但是在laravel 5.4中它有问题。我很困惑。 – Abolfazl