【发布时间】:2017-11-18 05:25:38
【问题描述】:
我正在尝试从 https://plnkr.co/edit/VSOzZ8AJz61az9TANGsp?p=preview
但是,我试图将模态放入组件而不是指令中,如上面的 plunker 所示。我抱怨一个错误($.confirm)
import { Component, Output, HostListener, EventEmitter, Directive, ElementRef, NgModule,Input } from '@angular/core';
import { Overlay } from 'ngx-modialog';
import { Modal } from 'ngx-modialog/plugins/bootstrap';
@Component({
selector: 'modal',
moduleId: module.id,
templateUrl: 'modal.component.html'
})
export class ModalComponent {
closeResult: string;
name: string;
constructor(public modal: Modal) {
this.name = 'Angular version'
}
@Output('confirm-click') click: any = new EventEmitter();
@HostListener('click', ['$event']) clicked(e) {
$.confirm({
buttons: {
confirm: () => this.click.emit(),
cancel: () => { }
}
});
}
}
错误:找不到名称“$”。
************************************更新********** ******************************
我刚刚使用了 bootstrap Modal ,它有效且易于实现 modal.html
<div>
<span class="fa fa-trash-o" data-toggle="modal" data-target="#myModal">
</span>
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Confirm</h4>
</div>
<div class="modal-body">
<p>Delete this record?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" (click)="onOk()">OK</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
Modal.ts
import { Component, Output, HostListener, EventEmitter, Directive, ElementRef, NgModule,Input } from '@angular/core';
import { Overlay } from 'ngx-modialog';
import { Modal } from 'ngx-modialog/plugins/bootstrap';
declare const jQuery: {
confirm: Function
};
@Component({
selector: 'modal',
moduleId: module.id,
templateUrl: 'modal.component.html'
})
export class ModalComponent {
@Output() open: EventEmitter<any> = new EventEmitter();
onOk() {
console.log("OK");
this.open.emit('yes');
}
onDelete() {
console.log("Cancel");
}
}
【问题讨论】:
-
你的 Plunkr 代码和上面的代码不一样。你能更新一下吗?
标签: angular