我目前正在使用AngularStrap v2.3.1和AngularJS v1.4.5。
我在使AngularStrap的模态工作时遇到了一些麻烦。它很可能是对它应该如何工作的误解,因为文档没有太大帮助。我在我的应用程序中使用控制器语法。
根据我的理解,我可以在控制器中创建一个对象:
vm.editModal = {
contentTemplate: '/templates/edit.html',
backdrop: 'static',
show: false
};
然后在我看来,我会使用带模态属性的bs-modal:
<a href="" bs-modal="ctrl.editModal">
然而,我得到的只是一个空白的模态。它实际上似乎没有从editModal获取任何属性。所以它让我相信这样做只使用标题和内容属性。那么它是一个基本的模态吗?
我也尝试过使用$ modal服务,我注入了控制器。然后尝试:
vm.editModal = $modal({
show: false,
contentTemplate: '/templates/edit.html',
backdrop: 'static',
});
我使用了相同的HTML:
<a href="" bs-modal="ctrl.editModal">
然而,在这种情况下,我在控制台中遇到了一堆错误,但它也没有工作。一些错误;
[ng:cpws] Can't copy! Making copies of Window or Scope instances is not supported.
[$rootScope:infdig] 10 $digest() iterations reached.
一旦我能够正常工作,我就会在模态加载之前尝试解析数据。但我还没到那么远。
如果有人能指出我正确的方向,我们将非常感激。
谢谢!
答案 0 :(得分:1)
mgcrea有一个很好的例子,使用服务与模态
交换信息.service('$confirm', function($modal, $rootScope, $q) {
var scope = $rootScope.$new();
var deferred;
scope.title = 'confirm';
scope.content = 'Confirm deletion?';
scope.answer = function(res) {
deferred.resolve(res);
confirm.hide();
}
var confirm = $modal({template: 'confirm.tpl.html', scope: scope, show: false});
var parentShow = confirm.show;
confirm.show = function() {
deferred = $q.defer();
parentShow();
return deferred.promise;
}
return confirm;
})
.controller('ModalDemoCtrl', function($scope, $confirm) {
$scope.delete = function() {
$confirm.show().then(function(res) {
console.warn('answered', res)
})
};
此处 - &gt; http://plnkr.co/edit/KnRMGw5Avz2MW3TnzuVT
希望这有帮助