Avi*_*ade 9 javascript modal-dialog angularjs
我有一个angularjs应用程序.我在我的应用程序中添加了一个按钮,当用户点击它时,会弹出一个弹出屏幕.用户应该从2个下拉列表中进行选择,这样我就有两个值需要发送回打开模态屏幕的服务.
打开弹出屏幕的服务
app.service('OriginalService', [ '$modal',
function ($modal) {
this.openDialog = function(){
var modalInstance = $modal.open({
templateUrl: 'ModalScreen.html',
controller: 'ModalController'
});
modalInstance.result.then(function (oneFilter, secondFilter) {
this.filtersMananger.oneFilter= oneFilter;
this.filtersMananger.secondFilter= secondFilter;
}, function () {
});
};
}]);
Run Code Online (Sandbox Code Playgroud)
在ModalController中,当我单击OK时,我发送了两个值:
app.controller('ModalController', ['$scope', '$modalInstance',
function ($scope, $modalInstance) {
$scope.ok = function () {
$modalInstance.close($scope.filterMananger.oneFilter,
$scope.filterMananger.secondFilter);
};
}]);
Run Code Online (Sandbox Code Playgroud)
问题是只有第一个值返回服务.我在其他例子中看到过,他们可能只想出一个结果:
modalInstance.result.then(function (result)
Run Code Online (Sandbox Code Playgroud)
我可以发送两个或值作为结果,还是只能在这种情况下发送带有这两个值的对象?
dfs*_*fsq 15
如果您查看$modal 源代码,您将看到以下行:
var modalInstance = {
result: modalResultDeferred.promise,
opened: modalOpenedDeferred.promise,
close: function(result) {
$modalStack.close(modalInstance, result);
},
dismiss: function(reason) {
$modalStack.dismiss(modalInstance, reason);
}
};
Run Code Online (Sandbox Code Playgroud)
从中可以清楚地看出,这close和dismiss方法只接受一个result参数.因此,如果要传递多个,则必须传递对象或数组.
| 归档时间: |
|
| 查看次数: |
7801 次 |
| 最近记录: |