我正在从Ember 1.7升级到Ember 1.8.0-beta.2(增量升级,我希望能够毫不费力地达到最新的1.8.0-beta.4)。
显然,Ember.TextField是deprecated:
DEPRECATION:解决了全局视图“Ember.TextField” 上下文。传递视图名称,以便在容器上查找, 例如{{view“select”}}。 http://emberjs.com/guides/deprecations#toc_global-lookup-of-views-since-1-8
这是我最初的实现:
{{view Ember.TextField classNames="form-control" valueBinding="properties§name" id="name-id" placeholderTranslation="generic.name" required="true"}}
所以我尝试过(正如我对其他观点所做的那样):
{{view "textField" ...}}
没有运气:
未捕获错误:断言失败:textField必须是。的子类 Ember.View,不是
所以,它现在似乎是component。所以我尝试:
{{input type="text" classNames="form-control" value=properties§name id="name-id" placeholderTranslation="generic.name" required="true"}}
它似乎有效,但我担心我可能做错了,因为id
,classNames
和placeholderTranslation
都没有被列为supported properties input
组件。
所以我的问题在这里:
{{view Ember.TextField}}
- > {{input type="text"}}
?答案 0 :(得分:2)
关于你关于余烬的问题,这是我的答案:
是的,你正在做正确的重构
OLD- {{view Ember.TextField}}
NEW- {{input type="text" value="" name="" class=""}}
html输入支持“类”等属性,所以当你添加类,占位符等东西时,我会根据自己的理解自动支持它们
除了Ember Doc中支持的任何内容之外,html中提到的所有属性都将始终有效。您可以阅读ember Ember source-code
中提到的评论{{input type="text" value="111" name="mytest" class="icon" id="wow"}}
AND I got
<input id="wow" class="ember-view ember-text-field icon" type="text"
name="mytest" value="111">