Angularjs 角度ui引导模式和类型脚本
我将ngDialog与Angular和Typescript一起使用,但我正试图更改为Angular ui boostrap模式,因为它看起来更酷,更易于使用Angularjs 角度ui引导模式和类型脚本,angularjs,typescript,angular-ui-bootstrap,Angularjs,Typescript,Angular Ui Bootstrap,我将ngDialog与Angular和Typescript一起使用,但我正试图更改为Angular ui boostrap模式,因为它看起来更酷,更易于使用 <!-- Form Name --> <legend>Edit Address...</legend> <!-- Text input--> <div class="form-group col-md-6&quo
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
我有一个场景,我使用AddressListController显示记录列表,用户单击记录(例如地址),然后我显示模式,以便用户可以编辑/删除记录。或者,用户可以选择add(添加)以添加应显示模式的新记录。我想将记录(地址)的保存/更新/删除委托给地址控制器,例如AddressController
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
我遇到的问题是,模态显示了数据,但是数据没有被填充。我不确定我是否在模板中使用了正确的语法?另外,我更喜欢controllerAs语法
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
我的代码如下:
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
在列表控制器中:
selectAddress(index: number): void {
var address = this.contactAssocitedRecords.Addresses[index];
this.edit(address);
}
edit(item: Address) {
var promise = this.addressService.getAddressWithInfo(item.Id);
promise.then((response: ng.IHttpPromiseCallbackArg<AddressInfo>) => {
var addressInfo = response.data;
console.log(addressInfo); **// This returns all data**
var options: ng.ui.bootstrap.IModalSettings = {
templateUrl: "/js/controllers/_MaintainAddress.Html",
controller: 'CRM.Contacts.AddressController as addressCtrl',
windowClass: 'app-modal-window',
resolve: {
addressInfo: () => addressInfo
}
};
this.$uibModal.open(options).result
.then(updatedItem => this.savedAddress(updatedItem));
},
error => {
this.popupService.showError(error.data.message);
});
}
savedAddress(item: any): void {
console.log(item);
}
module CRM.Contacts {
export class AddressController {
private scope: ng.IScope;
static $inject = ["$http", "CRM.Contacts.ContactService", "CRM.Common.PopupService", "ngDialog",
'$uibModalInstance'];
constructor(private $http: ng.IHttpService, private contactService: ICrudService<Contact>,
private popupService: CRM.Common.IPopupService,
private ngDialog: angular.dialog.IDialogService,
private $uibModalInstance: ng.ui.bootstrap.IModalServiceInstance) {
}
save(addressToSave: Address) {
// TODO: do the actual saving
console.log(addressToSave);
this.$uibModalInstance.close(addressToSave);
}
}
angular.module("CRM").controller("CRM.Contacts.AddressController", AddressController);
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
选择地址(索引:编号):无效{
var address=this.contactAssociatedRecords.Addresses[索引];
编辑(地址);
}
编辑(项目:地址){
var promise=this.addressService.getAddressWithInfo(item.Id);
然后((响应:ng.ihttpromisecallbackarg)=>{
var addressInfo=response.data;
console.log(addressInfo);**//返回所有数据**
变量选项:ng.ui.bootstrap.IModalSettings={
templateUrl:“/js/controllers/_MaintainAddress.Html”,
控制器:“CRM.Contacts.AddressController作为addressCtrl”,
windowClass:“应用程序模式窗口”,
决心:{
addressInfo:()=>addressInfo
}
};
此.uibModal.open(选项).result
.then(updateItem=>this.savedAddress(updateItem));
},
错误=>{
this.popupService.showError(error.data.message);
});
}
savedAddress(项目:任意):无效{
控制台日志(项目);
}
地址控制器:
selectAddress(index: number): void {
var address = this.contactAssocitedRecords.Addresses[index];
this.edit(address);
}
edit(item: Address) {
var promise = this.addressService.getAddressWithInfo(item.Id);
promise.then((response: ng.IHttpPromiseCallbackArg<AddressInfo>) => {
var addressInfo = response.data;
console.log(addressInfo); **// This returns all data**
var options: ng.ui.bootstrap.IModalSettings = {
templateUrl: "/js/controllers/_MaintainAddress.Html",
controller: 'CRM.Contacts.AddressController as addressCtrl',
windowClass: 'app-modal-window',
resolve: {
addressInfo: () => addressInfo
}
};
this.$uibModal.open(options).result
.then(updatedItem => this.savedAddress(updatedItem));
},
error => {
this.popupService.showError(error.data.message);
});
}
savedAddress(item: any): void {
console.log(item);
}
module CRM.Contacts {
export class AddressController {
private scope: ng.IScope;
static $inject = ["$http", "CRM.Contacts.ContactService", "CRM.Common.PopupService", "ngDialog",
'$uibModalInstance'];
constructor(private $http: ng.IHttpService, private contactService: ICrudService<Contact>,
private popupService: CRM.Common.IPopupService,
private ngDialog: angular.dialog.IDialogService,
private $uibModalInstance: ng.ui.bootstrap.IModalServiceInstance) {
}
save(addressToSave: Address) {
// TODO: do the actual saving
console.log(addressToSave);
this.$uibModalInstance.close(addressToSave);
}
}
angular.module("CRM").controller("CRM.Contacts.AddressController", AddressController);
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
模块CRM.Contacts{
导出类地址控制器{
私有范围:ng.IScope;
静态$inject=[“$http”、“CRM.Contacts.ContactService”、“CRM.Common.PopusService”、“ngDialog”,
“$uibModalInstance”];
构造函数(私有$http:ng.IHttpService,私有contactService:ICrudService,
专用popupService:CRM.Common.IPopupService,
私有ngDialog:angular.dialog.IDialogService,
私有$uibModalInstance:ng.ui.bootstrap.IModalServiceInstance){
}
保存(addressToSave:Address){
//TODO:进行实际保存
控制台日志(addressToSave);
这是.uibModalInstance.close(addressToSave);
}
}
angular.module(“CRM”).controller(“CRM.Contacts.AddressController”,AddressController);
}
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
模板:
selectAddress(index: number): void {
var address = this.contactAssocitedRecords.Addresses[index];
this.edit(address);
}
edit(item: Address) {
var promise = this.addressService.getAddressWithInfo(item.Id);
promise.then((response: ng.IHttpPromiseCallbackArg<AddressInfo>) => {
var addressInfo = response.data;
console.log(addressInfo); **// This returns all data**
var options: ng.ui.bootstrap.IModalSettings = {
templateUrl: "/js/controllers/_MaintainAddress.Html",
controller: 'CRM.Contacts.AddressController as addressCtrl',
windowClass: 'app-modal-window',
resolve: {
addressInfo: () => addressInfo
}
};
this.$uibModal.open(options).result
.then(updatedItem => this.savedAddress(updatedItem));
},
error => {
this.popupService.showError(error.data.message);
});
}
savedAddress(item: any): void {
console.log(item);
}
module CRM.Contacts {
export class AddressController {
private scope: ng.IScope;
static $inject = ["$http", "CRM.Contacts.ContactService", "CRM.Common.PopupService", "ngDialog",
'$uibModalInstance'];
constructor(private $http: ng.IHttpService, private contactService: ICrudService<Contact>,
private popupService: CRM.Common.IPopupService,
private ngDialog: angular.dialog.IDialogService,
private $uibModalInstance: ng.ui.bootstrap.IModalServiceInstance) {
}
save(addressToSave: Address) {
// TODO: do the actual saving
console.log(addressToSave);
this.$uibModalInstance.close(addressToSave);
}
}
angular.module("CRM").controller("CRM.Contacts.AddressController", AddressController);
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
编辑地址。。。
身份证件:
街道号:
街道名称:
//为简洁起见,请删除
在AddressController中,您应该插入addressInfo并将其公开,以便模板可以访问它。数据将来自解析函数
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
AddressController
应如下所示:
<!-- Form Name -->
<legend>Edit Address...</legend>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="Id">Id:</label>
<div class="col-md-8">
<input id="Id" name="Id" ng-disabled="true" type="text" ng-model="addressCtrl.addressInfo.Address.Id" placeholder="Id" class=" form-control">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetNo">Street No:</label>
<div class="col-md-8">
<input id="streetNo" name="streetNo" type="text" ng-model="addressCtrl.addressInfo.Address.StreetNo" placeholder="Street No" class=" form-control" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group col-md-6">
<label class="col-md-4 control-label" for="streetName">Street Name:</label>
<div class="col-md-8">
<input id="streetName" ng-model="addressCtrl.addressInfo.Address.StreetName" name="streetName" type="text" placeholder="Street Name" class=" form-control" required="">
</div>
</div>
// removed for brevity
<div class="form-group col-md-offset-8">
<label class="col-md-4 control-label" for="save"></label>
<div class="col-md-8">
<button id="save" title="Save new record" data-toggle="tooltip" data-placement="right" name="submit"
ng-click="addressCtrl.save(addressCtrl.addressInfo.Address)" class="btn btn-success" ng-disabled="addNewAddress.$invalid">
<span class="glyphicon glyphicon-floppy-disk"></span>
</button>
</div>
</div>
</fieldset>
</form>
module CRM.Contacts {
export class AddressController {
private scope:ng.IScope;
static $inject = ["$http", "CRM.Contacts.ContactService", "CRM.Common.PopupService", "ngDialog",
'$uibModalInstance', 'addressInfo'];
constructor(private $http:ng.IHttpService,
private contactService:ICrudService<Contact>,
private popupService:CRM.Common.IPopupService,
private ngDialog:angular.dialog.IDialogService,
private $uibModalInstance:ng.ui.bootstrap.IModalServiceInstance,
public addressInfo:any) {
}
save(addressToSave:Address) {
// TODO: do the actual saving
console.log(addressToSave);
this.$uibModalInstance.close(addressToSave);
}
}
angular.module("CRM").controller("CRM.Contacts.AddressController", AddressController);
}
模块CRM.Contacts{
导出类地址控制器{
私有范围:ng.IScope;
静态$inject=[“$http”、“CRM.Contacts.ContactService”、“CRM.Common.PopusService”、“ngDialog”,
“$uibModalInstance”,“addressInfo”];
构造函数(私有$http:ng.IHttpService,
私人通讯服务:ICrudService,
专用popupService:CRM.Common.IPopupService,
私有ngDialog:angular.dialog.IDialogService,
私有$uibModalInstance:ng.ui.bootstrap.IModalServiceInstance,
公共地址信息:任何){
}
保存(addressToSave:Address){
//TODO:进行实际保存
控制台日志(addressToSave);
这是.uibModalInstance.close(addressToSave);
}
}
angular.module(“CRM”).controller(“CRM.Contacts.AddressController”,AddressController);
}
现场安装。这就是诀窍。你应该得到一些星星。几个侧面问题:1 -模型没有显示在屏幕中部。2-它实际上不是一个模态,即在其外部单击将消失。有什么窍门吗?我不知道为什么它不居中,但要使对话框在单击外部时保持打开状态,必须在打开对话框时添加“background:‘static’”。