gpt4 book ai didi

javascript - 如果没有解析选项,Angularjs ui 引导模式将无法工作

转载 作者:行者123 更新时间:2023-11-28 19:40:23 25 4
gpt4 key购买 nike

我已经创建了一个可重用的组件,但如果我没有通过解析,我就会不断遇到问题,这里出了什么问题..谢谢

$scope.open = function () {
var modalInstance = $modal.open({
templateUrl: '../../App/template/commentsModal.html',
size: ''
,
controller: ModalInstanceCtrl,

resolve: {
items: function () {
return 'b';
}
}


});

但是如果我删除解析,那么我会不断收到 [$injector:unpr] Unknownprovider: itemsProvider <- items

items是什么,这是AngularJS内部的东西吗?这是模态 Controller :

.controller('ModalInstanceCtrl', function ($scope, $modalInstance) {
$scope.ok = function () {
$modalInstance.close();
};

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

})

最佳答案

您需要将项目列为新 Controller 的依赖项之一,这就是解析的目的。

$scope.open = function () {
var modalInstance = $modal.open({
templateUrl: '../../App/template/commentsModal.html',
size: '',
controller: ModalInstanceCtrl,
resolve: {
items: function () {
return 'b';
}
}
});
modalInstance.result.then(function(data) { //make sure you are declaring your promise
confirm(data);
});
};

您不必将 Controller 声明为模块的一部分,您只需创建一个对象即可。

var ModalInstanceCtrl = function ($scope, $modalInstance, *items*) {
$scope.items = items;

$scope.ok = function () {
$modalInstance.close($scope.items);
};

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

});

本质上,resolve 会将项目发送到您定义的模态 Controller ,将其分配给该本地范围,然后将其与 promise 一起返回,返回到您的起始 Controller 。您可以看到如何获取数据,传递到要更改的模态,然后返回新结果并重新绑定(bind)到原始 Controller 。确保在主 Controller 之外声明模态 Controller ,并使用此方法传入您需要的任何其他内容。

确保您在主 Controller 中声明 $modal,并在模态 Controller 中声明 $modalInstance。

关于javascript - 如果没有解析选项,Angularjs ui 引导模式将无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25191048/

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