Angular UI的Modal 在按照官方文档写的时候会报如下错误
var ModalDemoCtrl = function ($scope, $modal, $log) {
$scope.items = [‘item1‘, ‘item2‘, ‘item3‘];
$scope.open = function (size) { var modalInstance = $modal.open({
templateUrl: ‘myModalContent.html‘,
controller: ModalInstanceCtrl,
size: size,
resolve: { items: function () { return $scope.items;
}
}
});
modalInstance.result.then(function (selectedItem) {
$scope.selected = selectedItem;
}, function () {
$log.info(‘Modal dismissed at: ‘ + new Date());
});
};
};// Please note that $modalInstance represents a modal window (instance) dependency.// It is not the same as the $modal service used above.var ModalInstanceCtrl = function ($scope, $modalInstance, items) {
$scope.items = items;
$scope.selected = {
item: $scope.items[0]
};
$scope.ok = function () {
$modalInstance.close($scope.selected.item);
};
$scope.cancel = function () {
$modalInstance.dismiss(‘cancel‘);
};
};
[$injector:unpr] Unknown provider: $modalInstanceProvider <- $modalInstance
google了一下,发现官方有人已经报过一个bug
官方解释是:
The problem was that you were specifying a controller in 2 places - when opening a modal and inside a template - this is not needed. Remove ng-controller from a template and things will work as expected:
原来,在写modal option的时候已经制定了Controller, 就没必要在template里面加ng-controller制定controller了
Angular js开发的各种坑(持续更新中。。。),布布扣,bubuko.com
原文:http://my.oschina.net/chenlei123/blog/297729