ember.js - 从 {{view Ember.TextField}} 到 {{input type ="text"}}

标签 ember.js

我正在从 Ember 1.7 升级到 Ember 1.8.0-beta.2(增量升级,我希望能顺利到达最新的 1.8.0-beta.4)。

显然,Ember.TextFielddeprecated :

DEPRECATION: Resolved the view "Ember.TextField" on the global context. Pass a view name to be looked up on the container instead, such as {{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 所做的那样):

{{view "textField" ...}}

没有运气:

Uncaught Error: Assertion Failed: textField must be a subclass of Ember.View, not

所以,它现在似乎是一个 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"}} 方面是否正确?
  • 未明确支持的属性怎么办?他们似乎对我有用。这是文档过时的问题,还是...
  • 是否有所有组件都支持的通用属性列表?我找不到。

最佳答案

关于你在 ember 上的问题,这里是我一步一步的回答:

  • 是的,您进行了正确的重构

    OLD- {{view Ember.TextField}}
    NEW- {{input type="text" value="" name="" class=""}}
    
  • html 输入无论如何都支持“类”等属性,因此当您添加类、占位符等内容时,根据我的理解,这些将自动得到支持

  • 还有所有在 Ember Doc 中提到的属性(property)除此之外 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">
    

关于ember.js - 从 {{view Ember.TextField}} 到 {{input type ="text"}},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26261173/

相关文章:

javascript - 带图的 EmberJS 组件

css - 为 Ember.JS 应用程序选择不同的样式

Ember.js - 索引路由与 "top-level"资源路由?

ember.js - Ember 身份验证最佳实践?

javascript - 为什么我在测试中得到 "Ajax authorization fails"

ember.js - connectOutlet 中使用的 Ember 路由和 applicationController

javascript - Ember.js 嵌套的 ArrayController 和模型

javascript - 在同一条路线上管理 Ember 多个 RSVP Promises

javascript - Ember js - 切换到现有 ember 应用程序上的嵌套路由

ember.js - 在 Ember 中激活单个 {{link-to}}