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.myarray
export 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
}}