Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择菜单动作中的ember 2参数_Javascript_Ember.js_Parameters_Components - Fatal编程技术网

Javascript 选择菜单动作中的ember 2参数

Javascript 选择菜单动作中的ember 2参数,javascript,ember.js,parameters,components,Javascript,Ember.js,Parameters,Components,我试图在余烬操作中传递多个参数。 问题是其中一个参数是value='target.value',显然Ember不喜欢添加第二个参数 如何传递这两个参数? value='target.value'在我只需要一个参数时有效 我试着这样写,但类别还没有定义 {{#each selectorsData as |selectorItem|}} <select onchange={{ action selectorItem.action value='target.value' category='s

我试图在余烬操作中传递多个参数。 问题是其中一个参数是value='target.value',显然Ember不喜欢添加第二个参数

如何传递这两个参数? value='target.value'在我只需要一个参数时有效

我试着这样写,但类别还没有定义

{{#each selectorsData as |selectorItem|}}
<select onchange={{ action selectorItem.action value='target.value' category='selectorItem.name' }}>
{{#每个选择器数据为|选择器项|}
我也尝试过这种方法,但余烬给了我一个错误

{{#each selectorsData as |selectorItem|}}
   <select onchange={{ action selectorItem.action value='target.value' selectorItem.name }}>

 Error: Parse error on line 4:
 ....value' selectorItem.name }}>
{{#每个选择器数据为|选择器项|}
错误:第4行的分析错误:
..值'selectorItem.name}}>

尝试以下方法:

<select onchange={{action selectorItem.action target.value selectorItem.name}}>

....

yourAction: function(targetValue, selectorItemName) {..}

....
您的操作:函数(targetValue,selectorItemName){..}

下面是一个示例:

要实现这一点,必须使用闭包操作。

控制器

export default Ember.Controller.extend({
  appName: 'Ember Twiddle',
  selectorsData: [
    { name: 'mike', value: '1', action: 'alert', options: ["1", "2"] },
    { name: 'steve', value: '2', action: 'alert', options: ["1", "2"]  }
  ],

  actions: {
    alert(value, name, target) {
      alert("Hello: " + value + " - " + name + "-" + target);
    }
  }

});
模板

<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
<br>
<br>
{{#each selectorsData as |selectorItem|}}
    <label>{{selectorItem.name}}</label>
   <select onchange={{action (action selectorItem.action selectorItem.value selectorItem.name) value="target.value"}}>
        {{#each selectorItem.options as |option|}}
        <option value={{option}}>{{option}}</option
      {{/each}}
   </select>
   <br>
{{/each}}
欢迎来到{{appName}


{{outlet}}

{{{#每个选择器数据为{选择器项} {{selectoriem.name} {{{#每个selectorItem.options作为{option}}
{{option}}Pat,谢谢你的回答,但它仍然不起作用,你的解决方案返回未定义的'value'no,value='target.value'作为参数返回选择器内的选择是的,我明白你的意思了,知道吗?我看不到周围有什么办法…:s