【发布时间】:2014-08-22 10:52:45
【问题描述】:
假设我有以下 html 文件:
<!DOCTYPE html>
<html>
<head>
<title>LOG</title>
</head>
<body>
<div class="panel panel-success">
<!-- Default panel contents -->
<div class="panel-heading">Log data</div>
<div class="panel-body">
<!-- List group -->
<ul class="list-group">
<li class="list-group-item">Start processing at {{StartProcessing }}</li>
<li class="list-group-item">Finished processing at {{EndProcessing }}</li>
</ul>
<div id="logTvId" kendo-tree-view
k-data-source="treeData">
</div>
</div>
</div>
以及以下控制器代码:
Arch.LogController = function ($scope, $resource, $routeParams)
{
var LogResource = $resource('log/:markerId', {}, {
get: {method: "GET", isArray: false}
});
LogResource.get({markerId: $routeParams.markerId}, function (data1)
{
$scope.StartProcessing = new Date(data1.StartProcessing).toLocaleString();
$scope.EndProcessing = new Date(data1.EndProcessing).toLocaleString();
$scope.treeData = new kendo.data.HierarchicalDataSource({ data: [
{ text: "Item 1" },
{ text: "Item 2", items: [
{ text: "SubItem 2.1" },
{ text: "SubItem 2.2" }
] },
{ text: "Item 3" }
]});
});
};
页面加载后,我可以在页面上看到 StartProcessing 和 EndProcessing,但看不到树形视图。如果我从资源加载中取出与 $scope.treeData 相关的代码(说之后的下一条指令) 然后一切都按预期进行。如果我将 $scope.$apply() 添加到我的初始控制器代码中,它会引发异常......
我做错了什么?我应该处理承诺($q ??)并在资源加载后等待吗?
提前致谢。
【问题讨论】:
-
ng-app定义在哪里...看不到。 -
它是在另一个文件中定义的......正如我所说的,它可以工作,因为我可以看到日期值。它只是整个应用程序的一对控制器模板。
标签: javascript angularjs kendo-ui kendo-treeview