从{{view Ember.TextField}}过渡到{{input type =“text”}}

时间:2014-10-08 15:50:34

标签: ember.js

我正在从Ember 1.7升级到Ember 1.8.0-beta.2(增量升级,我希望能够毫不费力地达到最新的1.8.0-beta.4)。

显然,Ember.TextFielddeprecated

  

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"}}

它似乎有效,但我担心我可能做错了,因为idclassNamesplaceholderTranslation都没有被列为supported properties input组件。

所以我的问题在这里:

  • 我正在进行重构{{view Ember.TextField}} - > {{input type="text"}}
  • 未明确支持的属性怎么样?他们似乎在我的情况下工作。这是过时文档的问题,还是......
  • 是否有所有组件支持的通用属性列表?我找不到任何。

1 个答案:

答案 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">