【发布时间】:2017-11-28 07:59:12
【问题描述】:
总的来说,我对 Web 开发非常陌生,但我正在尝试构建我的网站,但遇到了以下我无法解决的问题。我正在使用角度 4 我有一个 div 突出显示我的 html 文件中的一些代码:
<div *ngIf="step1Updated">
<prism-block
[code]="step1"
[language]="'python'">
</prism-block>
{{ step1 }}
</div>
在我的打字稿文件中:
step1Updated = false;
step1 = '';
onStep1(fileType: string) {
this.step1 = this.step1service.returnCode(this.language, fileType);
this.step1Updated = true;
}
现在在我的 html 页面上,当我从执行onStep1() 的不同内容的按钮中单击时,我的字符串插值中的内容发生了变化,{{ step1 }},但我的prism-block 中的内容没有。我可以看到这是因为我们需要双向数据绑定,但我尝试将[(ngModel)]="step1" 双向数据绑定放在 prism-block、div 等中......希望它能够捕获更新然后更新该块,与将代码放入[(code)] 相同,但都导致错误..
任何帮助或建议将不胜感激!
【问题讨论】:
-
你不能在
forms之外使用ngModel,显示你的prism-block组件定义 -
我没有创建 prism-block 组件,它是通过npmjs.com/package/angular-prism 安装的,导入和声明在 app.module.ts 中。
-
prism组件有问题,你能装个笨蛋吗? -
我从未使用过 plunker,我只是尝试过,但它与我一直在使用的角度完全不同。我的棱镜工作正常,它可以很好地突出显示多种语言的代码,只要更改内容的字符串,它不会显示更新的内容。
-
把你创建的插件的链接放在这里
标签: html angular typescript data-binding