【发布时间】:2017-04-04 00:01:25
【问题描述】:
我通过 Angular CLI 生成了新的 @Directive,它被导入到我的 app.module.ts
import { ContenteditableModelDirective } from './directives/contenteditable-model.directive';
import { ChatWindowComponent } from './chat-window/chat-window.component';
@NgModule({
declarations: [
AppComponent,
ContenteditableModelDirective,
ChatWindowComponent,
...
],
imports: [
...
],
...
})
我尝试在我的组件(ChatWindowComponent)中使用
<p [appContenteditableModel] >
Write message
</p>
即使 inside 指令只是 Angular CLI 生成的代码:
import { Directive } from '@angular/core';
@Directive({
selector: '[appContenteditableModel]'
})
export class ContenteditableModelDirective {
constructor() { }
}
我得到了错误:
zone.js:388 未处理的承诺拒绝:模板解析错误: 无法绑定到“appContenteditableModel”,因为它不是“p”的已知属性。
我尝试了几乎所有可能的更改,遵循angular docs 一切应该可以工作,但它没有。
有什么帮助吗?
【问题讨论】:
-
我需要的结果最后是
[(appContenteditableModel)]="draftMessage.text"... -
那就试试这个
<p [appContenteditableModel]="draftMessage.text"></p> -
它在没有括号
appContenteditableModel="draftMessage.text"和(appContenteditableMode)l="draftMessage.text"的情况下工作,解决了承诺拒绝,但它似乎也没有通过变量
标签: angular typescript directive