gpt4 book ai didi

angularjs - 指令中的 UI 引导模式

转载 作者:行者123 更新时间:2023-12-01 05:02:09 25 4
gpt4 key购买 nike

我正在使用 Angular 1.4.1 和 UI Bootstrap 0.13。

我有一个指令,我从中打开一个模式。模式打开得很好,但按钮似乎没有绑定(bind)到它们的处理程序——它们什么都不做。我已经在另一个项目中使用了相同的代码,但不是来自指令。

我的指令:

(function () {
var app = angular.module('myApp');

app.directive('someDirective', function () {
return {
restrict: 'E',
templateUrl: 'SomeDirective.html',
scope: {
list1: '=list1',
list2: '=list2',
save: '&'
},
controller: ['$scope','$modal','myService', function ($scope,$modal,myService) {
$scope.openModal = function () {
var modalInstance = $modal.open({
templateUrl: 'ModalTemplate.html',
controller: 'modalController',
backdrop: 'static',
size: 'sm',
resolve: {
saveData: function () {
//do save action
}
}
});

modalInstance.result.then(
function (itemToSave) {
//save item
},
function () {
//Cancel
}
);
};
}]
}
});
}());

模态的 Controller :
(function() {
var app = angular.module('myApp');

app.controller('modalController', [
'$scope', '$modalInstance', 'saveData',
function($scope, $modalInstance, saveData) {
$scope.saveData = saveData;

$scope.save = function() {
$modalInstance.close($scope.saveData);
};

$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
}
]);
}());

以及模态内容的模板:
<div class="modal-header bg-info">
<h3 class="modal-title">Add New Record</h3>
</div>
<div class="modal-body">
<form class="form-horizontal" role="form"></form>
</div>
<div class="modal-footer bg-info">
<button class="btn btn-primary" ng-click="save()">Save</button>
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>

我的想法是我的范围有问题,但我无法找到它。我在modalController上放了断点。 app.controller() 调用发生在应用程序加载时,我已经看到了。但是 save() 和 cancel() 中的断点永远不会被命中。

有人可以帮我弄清楚为什么模态按钮不做任何事情吗?

最佳答案

结果证明这是一个愚蠢的错误。在某些时候,我显然用我用于模态的 Controller 的相同名称覆盖了项目中其他 Controller 之一的名称。另一个 Controller 没有 save() 或 cancel() 方法,所以什么也没有发生。一旦我修复了我的错误并且所有 Controller 再次有了它们的专有名称,这又开始工作了。

关于angularjs - 指令中的 UI 引导模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31997324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com