如何在 Angular 2 中进行简单的文本输入绑定?

How to do a simple text input bind in Angular 2?

我正在尝试 do a simple binding from an Angular2 组件到模板。我的模板代码如下所示...

<textarea class="left-side" #newLeft (keyup)="enterLeftText($event, newLeft)"></textarea>

<textarea class="right-side">{{leftText}}</textarea>

然后在我的组件中我有以下...

enterLeftText($event, newLeft) {
  this.leftText = newLeft.value;
}

问题是 newLeft 总是未定义的。我错过了什么?

您发现了一个有趣的错误,因为我们似乎无法在 #id 绑定中使用大写字母。

只需将 newLeft 替换为 newleft 即可解决您的问题:

http://plnkr.co/edit/ngqd0cUXyxsgBKOBSr9S?p=preview


UPDATE:事实上,id 应该用破折号表示,变量是驼峰式,就像 Angular 1 绑定属性时的情况一样。

所以你的问题的真正答案是写 #new-left:

<textarea class="left-side" #new-left (keyup)="enterLeftText($event, newLeft)"></textarea>

使用“#new-left”时出现异常

EXCEPTION: Error: Uncaught (in promise): Template parse errors: "-" is not allowed in variable names

驼峰式变量名的解决方案现在对我来说工作正常。