Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
Templates 如果ArrayController在Ember中不包含任何模型,请使用bindAttr禁用按钮_Templates_Binding_Ember.js - Fatal编程技术网

Templates 如果ArrayController在Ember中不包含任何模型,请使用bindAttr禁用按钮

Templates 如果ArrayController在Ember中不包含任何模型,请使用bindAttr禁用按钮,templates,binding,ember.js,Templates,Binding,Ember.js,我有一个包含按钮的模板: <button {{action clearAll}} >Clear All</button> 全部清除 模板的控制器是一个阵列控制器。如果ArrayController的content属性包含零项,我希望禁用该按钮。答案是使用。计算属性允许您基于控制器状态而不是原始布尔属性进行计算(本质上是创建一个由多个属性或不同类型的属性支持的getter) 为了使该函数能够正确地触发绑定,您需要声明该函数所依赖的属性-如果修改了这些属性,哪些属性应该导

我有一个包含按钮的模板:

<button {{action clearAll}} >Clear All</button>
全部清除
模板的控制器是一个
阵列控制器
。如果ArrayController的content属性包含零项,我希望禁用该按钮。

答案是使用。计算属性允许您基于控制器状态而不是原始布尔属性进行计算(本质上是创建一个由多个属性或不同类型的属性支持的getter)

为了使该函数能够正确地触发绑定,您需要声明该函数所依赖的属性-如果修改了这些属性,哪些属性应该导致更新。您可以使用:`.property('content.length')执行此操作。在这种情况下,函数依赖于单个属性,但它可能依赖于多个属性

在模板中:

<button {{action clearAll}} {{bindAttr disabled="anyEntries"}}>Clear All</button>
可能重复的
  anyEntries: function() {
    return this.get('content.length') == 0;
  }.property('content.length')