Ember.js 如何在ember cli materialize中配置md select组件?这些选项意味着什么?
上的示例代码给出了以下示例:Ember.js 如何在ember cli materialize中配置md select组件?这些选项意味着什么?,ember.js,ember-cli,Ember.js,Ember Cli,上的示例代码给出了以下示例: {{md-select content=frameworks value=framework label="Framework" prompt="Please choose..." optionLabelPath="content.value" optionValuePath="content" class="col s12"}} frameworks是模型/路线上的某种数组吗?我尝试过这样定义框架:frameworks:[
{{md-select content=frameworks
value=framework
label="Framework"
prompt="Please choose..."
optionLabelPath="content.value"
optionValuePath="content" class="col s12"}}
frameworks
是模型/路线上的某种数组吗?我尝试过这样定义框架:frameworks:[“选项1”、“选项2”]
和框架:[{text:“Option 1”,value:“1”},{text:“Option 2”,value:“2”}]
但是我仍然只得到带有默认占位符的空select元素
optionLabelPath
和optionValuePath
选项如何工作
TLDR如何从ember cli materialize addon中配置material select元素上的选项(以及相关值?内容是制作选项的数组
organismContent: [
{ value: 'F', display_name: 'Fungi' },
{ value: 'A', display_name: 'Alveolata (alveolates)' },
{ value: 'B', display_name: 'Bryophyta (mosses)' },
]
在模板中,您将使用如下内容
...
content=organismContent // Array to iterate over
optionLabelPath="content.display_name" // user sees this field
optionValuePath="content.value" // user picks this field
value=run.organism // where the user selected value goes to
...
...
content=organismContent // Array to iterate over
optionLabelPath="content.display_name" // user sees this field
xxx // No need value path here
selection=run.organism // user selects the whole object
...
其中optionValuePath是绑定到value=blah的对象属性“value”。如果使用selection=blah而不是value=blah,则会选择带有“display_name”和“value”的整个对象。第一个用例(值=)是当您的对象选择是字符串时,第二个用例(选择=)是当您使用外键(belongsTo)时
将控制器和模型属性绑定到组件
{{analysis/analysis-data <--- This is a component
run=model.run <--- This is a model property
componentorganismContent=organismContent <-- This is a controller property
}}
{analysis/analysis data我尝试通过将数组添加为路由的成员,并将您建议的配置放入{{md select..}}
标记中来完成此操作。但我最终遇到了以下错误:Uncaught TypeError:无法读取未定义(materialize.js 2836)的属性“replace”
。这可能是因为jQuery初始化(发生在引擎盖下以初始化select)发生在模板完全呈现之前?还是与数组的来源有关?我更改了{md select content=organismContent optionLabelPath=“content.display_name”optionValuePath=“content.value”value=run.organic class=“col s12”}
到{{md select content=organiccontent value=organic label=“Framework”prompt=“Please choose…”optionLabelPath=“content.display_name”optionValuePath=“content.value”class=“col s12”}
并且错误停止发生。但是现在(再次!!)只有占位符“Please choose…”但是没有其他选项..尝试{{organismContent.length}}看看你是否有权访问模板中的数组。你能让它与ember select一起工作吗?顺便说一句,你说的是作为路由的成员。这是否意味着它在“模型”中函数挂钩?如果是这样,那么在使用数组之前需要使用model.reference,比如so-content=model.myarrayexport default Ember.Route.extend({organiccontent:function(){return[{value:'F',display_name:'fulgories'},{value:'A',display_name:'Alveolata(alveolates)},{value:'B',display_name:'Bryophyta(mosses)}]};
是我尝试过的。我还尝试将organismContent
声明为普通数组,但都不起作用。但是,将organismContent更改为model(在route.js和模板中)修复了它,现在我可以看到选项了。它必须是一个模型属性挂钩吗?任何结构都不能工作吗?
{{analysis/analysis-data <--- This is a component
run=model.run <--- This is a model property
componentorganismContent=organismContent <-- This is a controller property
}}