Ember JS,将输入标记值作为动作handlbars中的参数传递

时间:2015-10-02 22:17:27

标签: javascript jquery ember.js ember-cli

我想从<input>标记中获取值并将其作为参数传递给EmberJS中的操作

当我使用JQuery {{action 'add' this.$('#x').val()}}时,Ember无法构建给予parse error on line ...

这里我想将x和y作为参数传递给{{action}},我知道发送参数的语法是{{action parameter1 parameter2 ..etc}}

模板\ alpha.hbs

<h1>alpha template</h1>
<div>
 <label>X value</label>
 <input type="text" id="x">
 <label>Y</label>
 <input type="text" id="y">
 <input type="button" id ="add-button" value="Add" {{action 'add' }}>
</div>

控制器\ alpha.js

import Ember from 'ember';

export default Ember.Controller.extend({
  actions:{
    add: function(x, y){
      alert('this is done right '+x+ ' ' + y);
    }
  }
});

我在不传递参数的情况下测试了代码,代码按预期工作,提供了所需的警报

1 个答案:

答案 0 :(得分:0)

你需要在Ember中利用input助手和值绑定:

<br><h1>alpha template</h1>
<div>
 <label>X value</label>
 {{input value=xValue}}
 <label>Y</label>
 {{input value=yValue}}
 <input type="button" id ="add-button" value="Add" {{action 'add' xValue yValue}}/>
</div>