【发布时间】:2015-07-06 21:57:28
【问题描述】:
我有一个控制器 HomeworkPageController,我使用来自 TopicService 的方法 getAllMainTopics 从 MongoDB 获取所有主题。然后使用 $scope.topics 显示所有主题。我有一个按钮可以打开一个模式,在 MongoDB 中添加一个新主题。模态正在使用另一个控制器 AddTopicController。如何从 AddTopicController 中的 HomeworkPageController 更新 $scope.topics ?我想这样做是因为关闭模式后,所有主题的列表都应该刷新,它必须包含已添加的主题。我尝试在 AddTopicController 中使用 HomeworkPageController,然后调用 getAllMainTopics 方法,但 html 中的 $scope.topics 没有更新。谢谢。
这里是 HomeworkPageController:
app.controller('HomeworkPageController', ['$scope','TopicService',
function ($scope, TopicService) {
$scope.topics = [];
$scope.getAllMainTopics = function () {
TopicService.getAllMainTopics('homework')
.success(function(data) {
$scope.topics = data;
}
$scope.addTopic = function () {
ModalService.openModal({
template: "templates/addTopic.html",
controller: 'AddTopicController'
});
}
]);
这里是 AddTopicController:
app.controller('AddTopicController', ['$scope','$controller', '$timeout','TopicService', '$modalInstance',
function ($scope, $controller, $timeout,TopicService, $modalInstance) {
var homeworkPageController = $scope.$new();
$controller('HomeworkPageController',{$scope : homeworkPageController });
$scope.save = function() {
TopicService.saveTopic(data)
.success(function(result){
homeworkPageController.getAllMainTopics();
$modalInstance.close();
})
}
}]);
这是我使用 $scope.topics 的视图:
<div class="homework-content-topic-list" ng-repeat="topic in topics">
<label> {{ topic.subject }} </label>
</div
【问题讨论】:
标签: angularjs controller angularjs-scope ng-repeat