9

我正在尝试从 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 总是未定义的。我错过了什么?

4

2 回答 2

9

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

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

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


更新:事实上,id 似乎应该是破折号,变量是驼峰式大小写,就像在 Angular 1 上绑定属性时的情况一样。

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

<textarea class="left-side" #new-left (keyup)="enterLeftText($event, newLeft)"></textarea>
于 2015-04-23T18:47:10.987 回答
0

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

例外:错误:未捕获(承诺中):模板解析错误:变量名中不允许使用“-”

使用 camelCased 变量名称的解决方案现在对我来说效果很好。

于 2016-06-01T09:29:28.873 回答