我花了很多时间尝试各种各样的事情,我终于放弃了。
我有一个对象数组,我使用{{#each}}帮助器在列表中的页面上显示。需要将特定属性绑定到Ember.Select视图。因此,如果我有10个项目,则会有10个选择视图。
“选择”视图的可能选项定义为数组。这是有效的,选择视图显示其标签/值是否正确。问题是绑定到我想要设置的属性。我无法在{{#each}}中获取对象的上下文。这就是我所拥有的:
{{#each questions}}
{{view Ember.Select
contentBinding="Editor.Enums.
optionValuePath="content.value"
optionLabelPath="content.label"
valueBinding="??what goes here if I want to change the 'type' property??"
prompt="Select"
}}
{{/each}}
所有示例绑定1选择视图到位于全局应用程序上的属性,它不允许我使用重复的元素。
编辑:我做了一个有趣的观察......它确实SEEM有限!我以前认为他们不是因为他们没有显示目前为该物业设定的价值。但是,在更改选择时,有界属性会发生变化。所以其他东西在这里工作。
编辑:如果我取消“提示”,它会选择列表中的第一项,并将我的有界属性更新为该值!什么给出头表。这应该不是这么难......
谢谢! 达里尔
答案 0 :(得分:1)
我不知道是否理解,但是如果你想在{{#each}}助手中定义上下文,你可以这样写:
{{#each question in questions}}
{{question.type}}
{{/each}}
击> <击> 撞击>
编辑:我认为我按预期工作了。 事实上,如果提示符为null,或者它不是select的正确选择,则初始值会被提示覆盖。
<script type="text/x-handlebars">
{{#each App.questions}}
{{view Ember.Select
contentBinding="App.content"
optionValuePath="content.type"
optionLabelPath="content.label"
prompt="Select a value"
valueBinding="type"
}}
{{type}}
{{/each}}
</script>
App = Ember.Application.create({});
App.questions = [
{type: null},
{type: 'type1'}
];
App.content = [
{label: "This is type 1", type: "type1"},
{label: "This is type 2", type: "type2"}
];
答案 1 :(得分:0)
{{#each questions}}
{{view Ember.Select
contentBinding="Editor.Enums.
optionValuePath="content.value"
optionLabelPath="content.label"
valueBinding="type"
value="type"
}}
{{/each}}
这看起来真的很不稳定。
所以我不得不强行提供选择的初始值(我假设它将使用绑定来确定它的初始值)。
接下来,如果您指定一个提示符(在1.0.pre上),它将覆盖所设置的任何值。
哦,1天的工作。
达里尔