显示来自 Angular 控制器的 bootstrap 模态对话框
Displaying a bootstrap Modal dialog from Angular Controller
我正在尝试弄清楚如何从我的 Angular 控制器中显示 bootstrap 模态对话框。基本上我有一个table。当用户单击 table 行时,我想显示一个模式对话框,其中包含有关所选行的详细信息。
我考虑的方法是让每个 table 行响应 ng-click。 ng-click 将调用控制器中的一个函数,该函数将显示模态对话框并向其传递需要显示的数据。
我知道如何从视图本身显示模态对话框,但我不确定如何从控制器触发模态。有什么想法吗?
视图的控制器具有以下函数,当用户选择一行以查看模式对话框时将调用该函数。
$scope.rowClicked = function(rowID){
$scope.dataForModal = Data.get(rowID, function(err,data){
//Here is where I'd like to display the modal dialog in the view
});
}
见http://angular-ui.github.io/bootstrap/#/modal
在您的视图 cell/row 上使用 ng-click="showDetails(item)"
。然后在您的控制器中使用此代码来显示模式:
$scope.showDetails = function (item) {
var modalInstance = $modal.open({
templateUrl: 'yourview.html',
controller: 'DetailModalController',
resolve: {
item: function () {
return item;
},
}
});
modalInstance.result.then(function (item) {
// ok
}, function () {
// dismiss
});
};
你的模态控制器可以是这样的:
angular.module('app').controller('DetailModalController', [
'$scope', '$modalInstance', 'item',
function ($scope, $modalInstance, item) {
$scope.item = item;
$scope.dismiss = function () {
$modalInstance.dismiss();
};
$scope.close = function () {
$modalInstance.close($scope.item);
};
};
}]);
使用$modalInstance.close($scope.item);
你可以传递一个对象。使用 $modalInstance.dismiss();
你可以在没有对象的情况下关闭模态。
我正在尝试弄清楚如何从我的 Angular 控制器中显示 bootstrap 模态对话框。基本上我有一个table。当用户单击 table 行时,我想显示一个模式对话框,其中包含有关所选行的详细信息。
我考虑的方法是让每个 table 行响应 ng-click。 ng-click 将调用控制器中的一个函数,该函数将显示模态对话框并向其传递需要显示的数据。
我知道如何从视图本身显示模态对话框,但我不确定如何从控制器触发模态。有什么想法吗?
视图的控制器具有以下函数,当用户选择一行以查看模式对话框时将调用该函数。
$scope.rowClicked = function(rowID){
$scope.dataForModal = Data.get(rowID, function(err,data){
//Here is where I'd like to display the modal dialog in the view
});
}
见http://angular-ui.github.io/bootstrap/#/modal
在您的视图 cell/row 上使用 ng-click="showDetails(item)"
。然后在您的控制器中使用此代码来显示模式:
$scope.showDetails = function (item) {
var modalInstance = $modal.open({
templateUrl: 'yourview.html',
controller: 'DetailModalController',
resolve: {
item: function () {
return item;
},
}
});
modalInstance.result.then(function (item) {
// ok
}, function () {
// dismiss
});
};
你的模态控制器可以是这样的:
angular.module('app').controller('DetailModalController', [
'$scope', '$modalInstance', 'item',
function ($scope, $modalInstance, item) {
$scope.item = item;
$scope.dismiss = function () {
$modalInstance.dismiss();
};
$scope.close = function () {
$modalInstance.close($scope.item);
};
};
}]);
使用$modalInstance.close($scope.item);
你可以传递一个对象。使用 $modalInstance.dismiss();
你可以在没有对象的情况下关闭模态。