ember.js - 没有 Em.Textfield 的文本字段的双向绑定(bind)

标签 ember.js

我正在尝试做这个

<input type="text" {{bindAttr value="controller.term"}}>

但无法正常工作,更改只能从 Controller 进行。我被迫使用以下内容

{{view Em.TextField valueBinding="controller.term"}}

有一种方法可以在不使用前面的代码片段的情况下实现此目的吗?

最佳答案

为什么不扩展 Ember.TextField 来做你想做的事?

让我确切地知道您想要做什么,我敢打赌我们可以通过这种方式找到解决方案。当我知道更多细节时,我会编辑我的答案,但现在:

扩展 Ember.TextField

假设您想在输入上放置一个最大长度和一个占位符。

App.MyTextField = Ember.TextField.extend({
  maxlength: 20,
  placeholder: 'Some placeholder text',
  attributeBindings: ['maxlength', 'placeholder']
});

然后您可以将其放入模板中:

{{view App.MyTextField valueBinding="controller.term"}}

关于ember.js - 没有 Em.Textfield 的文本字段的双向绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862462/

相关文章:

ember.js - 为什么 Ember 路由器只允许导航到叶路由?

javascript - Ember.js:如果 Controller 中满足某些条件,则在路由器中重定向?

ember.js - 在自定义 Handlebars 助手中使用 linkTo

unit-testing - 在 EmberJS 中对组件进行单元测试的正确方法

javascript - 从 DS.RESTAdapter 获取 api 数据到模型中

javascript - 如何在 EmberJS 中显示/隐藏 View

ember.js - 使用 EmberData 添加和更新记录

javascript - 组件属性可用于所有 View Ember?

ember.js - 为什么我应该在 EmberJS 中使用 {{#link-to}} 而不是 <a></a> ?

ember.js - 什么是 Ember RunLoop,它是如何工作的?