角2で1つのディレクティブを作成しました。これは正常に機能するsummernoteテキストエディタですが、ngModelで未定義の値を返すことはできませんディレクティブとngModelの値を角度4で取得する方法
指令コード:
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を作成できます。 – Skeptor
あなたは制御値とngModelを同期させるために独自のcontrolvalueaccessorを書く必要があります –