【发布时间】:2018-01-31 15:09:11
【问题描述】:
我在 Angular 2 中创建了一个指令,它正在初始化 Summernote 文本编辑器,该编辑器运行良好,但我无法获得它的值,它总是使用 ngModel 返回 undefined
指令代码:
import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';
declare var $: any;
@Directive({ selector: '[summernote]' })
export class summernoteDirective {
@Input() config;
element:any;
constructor(el: ElementRef) {
this.element = el.nativeElement;
}
ngOnInit()
{
$(this.element).summernote(this.config);
}
}
组件代码 HTML:
<input type="text" name="PostTitle" [(ngModel)]="PostTitle"
class="form-control" placeholder="Post title">
<textarea name="PostContent" [(ngModel)]="PostContent"
summernote [config]="options"></textarea>
<button (click)="submitPost(PostTitle,PostContent);"
class="btn btn-primary" data-toggle="dropdown">Post</button>
组件ts代码:
submitPost(PostTitle,PostContent)
{
console.log(PostTitle);
console.log(PostContent);
}
第二个控制台 PostContent 总是返回 undefined 是否有任何方法可以使用指令获取按钮单击时的值
【问题讨论】:
-
您可以创建一个 plnkr 或 stackblitz 来演示这一点。
-
需要自己编写controlvalueaccessor来同步控制值和ngModel
标签: angular summernote