Select 余烬选择和查询参数。未定义
我试图选择一个选项,一旦它被选中,获取对象的值并用该值更改url 现在,我在url中没有定义:Select 余烬选择和查询参数。未定义,select,ember.js,undefined,Select,Ember.js,Undefined,我试图选择一个选项,一旦它被选中,获取对象的值并用该值更改url 现在,我在url中没有定义: http://localhost:4200/product?company=undefined 控制器: import Ember from 'ember'; export default Ember.Controller.extend({ queryParams: ['company'], company: null, ....... actions: {
http://localhost:4200/product?company=undefined
控制器:
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['company'],
company: null,
.......
actions: {
selectCompany: function(value) {
this.set('company', value);
}
}
});
模板:
<select {{ action 'selectCompany' company.id on='change' }}>
{{#each sortedTraitsAsc as |company|}}
<option value={{company.id}}> {{company.value}}</option>
{{/each}}
</select>
在模板中,对于选项标记,还需要提供所选值,以让控制器知道所选内容 这是一个工作示例,我根据您试图做的假设重新创建了它 在继续之前。。。通过运行以下Ember CLI命令,确保安装了Ember Truth Helpers:
ember install ember-truth-helpers
您的路线(在本例中提供模型)如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model: function(){
return [{'name': 'a', 'valuation': 100},
{'name': 'b', 'valuation': 200},
{'name': 'c', 'valuation': 150},
{'name': 'd', 'valuation': 250}
];
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['company'],
company: null,
actions: {
selectCompany: function(company){
alert(company);
this.set('company', company);
}
}});
<select onchange={{action "selectCompany" value="target.value"}}>
{{#each model as |companyChoice|}}
<option value={{companyChoice.name}} selected={{eq company companyChoice.name}}>{{companyChoice.name}}</option>
{{/each}}
</select>
您的控制器如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model: function(){
return [{'name': 'a', 'valuation': 100},
{'name': 'b', 'valuation': 200},
{'name': 'c', 'valuation': 150},
{'name': 'd', 'valuation': 250}
];
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['company'],
company: null,
actions: {
selectCompany: function(company){
alert(company);
this.set('company', company);
}
}});
<select onchange={{action "selectCompany" value="target.value"}}>
{{#each model as |companyChoice|}}
<option value={{companyChoice.name}} selected={{eq company companyChoice.name}}>{{companyChoice.name}}</option>
{{/each}}
</select>
您的模板如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model: function(){
return [{'name': 'a', 'valuation': 100},
{'name': 'b', 'valuation': 200},
{'name': 'c', 'valuation': 150},
{'name': 'd', 'valuation': 250}
];
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['company'],
company: null,
actions: {
selectCompany: function(company){
alert(company);
this.set('company', company);
}
}});
<select onchange={{action "selectCompany" value="target.value"}}>
{{#each model as |companyChoice|}}
<option value={{companyChoice.name}} selected={{eq company companyChoice.name}}>{{companyChoice.name}}</option>
{{/each}}
</select>
{{{每个模型作为{公司选择}
{{companyChoice.name}
{{/每个}}
希望这会有所帮助。在模板中,对于选项标记,您还需要提供所选值,以让控制器知道所选内容 这是一个工作示例,我根据您试图做的假设重新创建了它 在继续之前。。。通过运行以下Ember CLI命令,确保安装了Ember Truth Helpers:
ember install ember-truth-helpers
您的路线(在本例中提供模型)如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model: function(){
return [{'name': 'a', 'valuation': 100},
{'name': 'b', 'valuation': 200},
{'name': 'c', 'valuation': 150},
{'name': 'd', 'valuation': 250}
];
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['company'],
company: null,
actions: {
selectCompany: function(company){
alert(company);
this.set('company', company);
}
}});
<select onchange={{action "selectCompany" value="target.value"}}>
{{#each model as |companyChoice|}}
<option value={{companyChoice.name}} selected={{eq company companyChoice.name}}>{{companyChoice.name}}</option>
{{/each}}
</select>
您的控制器如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model: function(){
return [{'name': 'a', 'valuation': 100},
{'name': 'b', 'valuation': 200},
{'name': 'c', 'valuation': 150},
{'name': 'd', 'valuation': 250}
];
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['company'],
company: null,
actions: {
selectCompany: function(company){
alert(company);
this.set('company', company);
}
}});
<select onchange={{action "selectCompany" value="target.value"}}>
{{#each model as |companyChoice|}}
<option value={{companyChoice.name}} selected={{eq company companyChoice.name}}>{{companyChoice.name}}</option>
{{/each}}
</select>
您的模板如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model: function(){
return [{'name': 'a', 'valuation': 100},
{'name': 'b', 'valuation': 200},
{'name': 'c', 'valuation': 150},
{'name': 'd', 'valuation': 250}
];
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['company'],
company: null,
actions: {
selectCompany: function(company){
alert(company);
this.set('company', company);
}
}});
<select onchange={{action "selectCompany" value="target.value"}}>
{{#each model as |companyChoice|}}
<option value={{companyChoice.name}} selected={{eq company companyChoice.name}}>{{companyChoice.name}}</option>
{{/each}}
</select>
{{{每个模型作为{公司选择}
{{companyChoice.name}
{{/每个}}
希望这有帮助。谢谢你的回答。虽然我认为我开始更好地理解它是如何工作的,但我仍然没有定义。我认为这个问题可能在价值和所选部分:(谢谢你的回答。虽然我认为我开始更好地理解它的工作原理,但我仍然没有定义。我认为这个问题可能在价值和所选部分:(