我正在嘗試使用模態窗口(請參閱http://angular-ui.github.io/bootstrap/)。模態窗口中的範圍(AngularJS指令)
在父控制器I具有以下功能:
$scope.open = function() {
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: ModalInstanceCtrl,
resolve: {
year: function() {
return $scope.year.value;
},
month: function() {
return $scope.month;
},
day: function() {
return $scope.day.name;
},
todos: function() {
return $scope.day.toDoItems;
}
},
backdrop: 'static'
});
modalInstance.result.then(function (todos) {
angular.forEach(todos, function (todo) {
if (todo.New)
$scope.day.toDoItems.push(todo);
});
}, function() {
$log.info('Modal dismissed at: ' + new Date());
});
};
而在模態控制器有一個addTodo功能:
var ModalInstanceCtrl = function ($scope, $modalInstance, year, month, day, todos) {
...
$scope.todos = todos;
$scope.addTodo = function() {
$scope.todos.push({ TodoText: $scope.todoText.value, Done: false, Del: false, Date: new Date(year, month, day), Priority: 1, New: true});
$scope.todoText.value = "";
};
...
$scope.ok = function() {
$modalInstance.close($scope.todos);
};
};
在父視圖,示出與todos
日曆每天。當點擊一天的標題時,模式窗口打開,您可以添加待辦事項。我的問題是,在模態窗口中添加待辦事項時,todos
也會同時添加到父視圖中。 現在todos
在父視圖中添加了兩次:一次在模態視圖中添加它們,一次在模態視圖上單擊確定。 但我希望todos
項目僅在單擊模式視圖上的確定時纔會添加到父視圖。
有沒有人爲此提供解決方案?提前致謝!
您可以在Plunker看看它是如何工作的:http://plnkr.co/edit/Nr1h7K3WZyWlRlrwzhM3?p=info
你可以說明,在小提琴? –
我已經添加了一個來自Plunker的鏈接,我無法編輯小提琴的html標籤(我必須指定ng-app)。 – Tenzi