Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Emberjs:使用复选框显示数据_Javascript_Ember.js - Fatal编程技术网

Javascript Emberjs:使用复选框显示数据

Javascript Emberjs:使用复选框显示数据,javascript,ember.js,Javascript,Ember.js,我有一个选中复选框的数据表。如果选中表中的某项,我希望在页面的另一部分显示该数据。看起来应该很简单,但我似乎不明白。我做了一个js 这是控制器/路线 App.IndexController = Ember.Controller.extend({ productLinks: function(){ return this.get('content'); }.property('model', 'isSelected'), selectedProduct: fun

我有一个选中复选框的数据表。如果选中表中的某项,我希望在页面的另一部分显示该数据。看起来应该很简单,但我似乎不明白。我做了一个js

这是控制器/路线

App.IndexController = Ember.Controller.extend({
  productLinks: function(){
        return this.get('content');
    }.property('model', 'isSelected'),

  selectedProduct: function(){
    var selectedProd = this.get('productLinks').filterBy('isSelected', true);
    return selectedProd[0];
  }.property('isSelected'),

  isSelected: null
});

我希望这能演变为只允许一个选择,但一旦我能获得要显示的数据,我将解决这个问题。

您需要正确定义依赖项(
属性
)。根据控制器本身的
isSelected
属性,您拥有计算属性。您需要使其依赖于
productLinks
的每个成员上的
isSelected
属性,这是您使用
@each
语法所做的

selectedProduct: function(){
    var selectedProd = this.get('productLinks').filterBy('isSelected', true);
    return selectedProd[0];
}.property('productLinks.@each.isSelected')

伟大的非常感谢,我知道这不应该那么难从技术上讲,你可以省略第二个参数到
filterBy
。但是,您可以使用
findBy
查找第一个选定的元素,这样整个函数体就变成了
返回这个.get('productLinks').findBy('isSelected')