【发布时间】:2014-10-28 12:43:03
【问题描述】:
我的 index.html 文件中有一个常量侧边栏,用于列出使用 ng-include 的项目。创建或更新项目等时。我希望侧边栏自动更新。我不确定要提供我的代码的哪一部分,因为希望这是一个很容易回答的基本问题,尽管我没有找到解决方案。
编辑:感觉我快到了,但 src 似乎没有拿起控制器属性:
<div class="col col-md-4" data-ng-controller="ProjectsController" data-ng-include src="'{{sidebarUrl}}'"></div>
在我的项目控制器中:
// Update existing Project
$scope.update = function() {
var project = $scope.project ;
project.$update(function() {
$location.path('projects/' + project._id);
$scope.$broadcast('projectUpdated');
}, function(errorResponse) {
$scope.error = errorResponse.data.message;
});
};
$scope.sidebarUrl = 'modules/projects/views/list-projects.client.view.html';
$scope.$on("projectUpdated",function(event,args) {
$scope.sidebarUrl=null;
$scope.sidebarUrl= 'modules/projects/views/list-projects.client.view.html';
});
【问题讨论】:
-
ngInclude 是否有一个包含项目列表的控制器?
-
尝试关注此stackoverflow.com/questions/19203777/…,但很难让控制器属性获取包含的 src。将更新问题。
-
@Chris - 问题是 URL 实际上并没有改变。 Angular 不在乎您将其设置为
null然后再返回。如果$digest循环运行完后,旧值和新值不同,则不会更新。
标签: angularjs angularjs-ng-include