我正在构建一个组件:
export default Ember.Component.extend({
tagName:'input',
classNameBindings: ['form-control','isMissing:input-warning',':form-control'],
isMissing: false,
attributeBindings: ['customType:type','customSize:size','value','disabled','placeholder'],
customType: "text",
customSize: "50",
valueBinding:'name',
disabled:'disabled',
placeholder:'placeholder',
focusIn:function(){
this.sendAction('submit');
},
focusOut:function(){
this.sendAction('cancel');
}
});
当发生传播从模板到组件时,绑定属性“值”(参见代码第5行,第4列)似乎得到'name'的值,但不是相反的方式
我错过了什么吗?我在组件上阅读了Ember文档,这个属性绑定应该在两个方向上传播属性值的变化。
是否有另一种方法来绑定此值?
谢谢!
编辑:
这是一个表明问题的JSBIN:http://emberjs.jsbin.com/jalalamude/1/edit?html,js,output
答案 0 :(得分:1)
您必须了解表单输入元素与ember输入助手不同,输入助手在更改值时保持绑定,并且组件需要执行相同操作。你的组件正在做的是创建一个输入元素,其值被设置为组件中的任何“value”属性,组件呈现元素然后不关心用户使用它做什么 - 关键是没有真正的组件的value属性和“form”输入元素之间的“TIE UP”。你有责任这样做。这是一个有效的jsbin:http://emberjs.jsbin.com/muduxacanu/1/edit