我想問,據我所知,AngularUI的模態由2個控制器組成1是我用來處理數據的默認控制器,另一個是處理$ modelInstances ,這對我來說很好。但是我想要做的是在模態顯示中渲染/編輯數據時,我將使用幾個示波器。而不是解決控制器之間的所有這些範圍,我試圖做的是將兩個控制器合併在一起,以便範圍可以在網頁之間共享。 (指出,它實時的範圍),我所做的是像下面
angular.module('app', ['ngAnimate', 'ui.bootstrap']);
angular.module('app').controller('ModelCtrl', function ($scope, $modal, $modalInstance) {
$scope.items = ['item1', 'item2', 'item3'];
//I have a few more scopes to be used in the model
$scope.open = function (size) {
var modalInstance = $modal.open({
animation: true,
templateUrl: 'myModalContent.html',
controller: 'ModelCtrl',
size: 'lg',
resolve: {
items: function() {
return $scope.items;
}
}
});
modalInstance.result.then(function() {
}, function() {
});
};
$scope.ok = function() {
$modalInstance.close($scope.selected.item);
};
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
});
我結合這兩個控制器合爲一體,並注入相關的模塊回來,這是可行的,在理論上。但是,我得到的是一個錯誤,說[$injector:unpr] Unknown provider: $modalInstanceProvider <- $modalInstance <- ModelCtrl
。從這個錯誤瞭解這意味着我已經注入了一個未知的供應商$modalInstanceProvider
,所以我試圖從模塊中刪除$ modalInstance,莫代爾設法打開,但close
和dismiss
的行動給我一個錯誤$modalInstance is not defined
。我做錯了什麼,我應該如何結合兩個控制器,而不是將它們分成2個?
這裏是plunkr鏈接,所以你可以理解我的意思。謝謝。
我希望這是不行的,我不喜歡模式彈出angularjs –
不,你不能使用'$ model'和'$ modalInstance'在同一個控制器。 –
@gauravbhavsar有沒有其他選擇? –