首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据另一个Ember.Select的选定选项通过计算属性填充Ember.Select选项

如何根据另一个Ember.Select的选定选项通过计算属性填充Ember.Select选项
EN

Stack Overflow用户
提问于 2014-02-22 19:28:07
回答 1查看 897关注 0票数 4

我很难让这个基本功能在Ember中工作。如何通过正在观察通过另一个Ember.Select设置的另一个属性的计算属性填充Ember.Select视图的选项?

以下是我迄今所做的工作:

HTML/HBS:

代码语言:javascript
复制
<script type="text/x-handlebars">

    {{view Ember.Select
    content=parent
    optionValuePath="content.id"
    optionLabelPath="content.name"
    value=current_parent}}

    {{view Ember.Select
    content=child
    value=current_child}}

</script>

Javascript:

代码语言:javascript
复制
App.ApplicationController = Ember.ArrayController.extend({
    content: '', current_parent: null, current_child: null,
    parent: function() {
        return this.store.find('user');
    }.property(),
    child: function() {
        var current_parent = this.get('current_parent');
        if (current_parent) {
            this.store.find('user', current_parent).then(function(parent) {
                return parent.get('children');
            }
        }
    }.property('current_parent')
});

App.User = DS.Model.extend({
    name: DS.attr('string'),
    children: DS.attr(),
});

从服务器返回的JSON:

代码语言:javascript
复制
    users: [{id: 0, name: 'test', children: ['child1', 'child2']}]

显然这是行不通的。我很想解释一下我在这里做错了什么,有什么可行的方法来实现这一点,请。

我使用的是以下语言:

  • 成员1.4.0
  • 成员数据1.0.0-beta.6
  • 车把1.3.0

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-23 04:15:51

我觉得你不需要衍生财产的孩子。不使用id作为值,您可以使用模型本身(用户),它已经具有children的属性。这与您已经使用current_parent而不是current_parent_id的名称相匹配。

代码语言:javascript
复制
{{view Ember.Select
contentBinding=parent
optionLabelPath="content.name"
value=current_parent}}

{{view Ember.Select
contentBinding=current_parent.children
value=current_child}}

在控制器上,只需移除子属性。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21959335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档