【问题标题】:Getting a computed property from a component从组件获取计算属性
【发布时间】:2018-11-27 04:47:10
【问题描述】:

我目前尝试从组件中获取计算属性。

export default Component.extend({
    isValid: computed('currentQuantity', 'maxQuantity', function() { ... }),
});

尝试用

接收它(控制器:isValid=null;)
{{quantity-list isValid=(mut isValid)}}

导致覆盖属性并删除计算。

如何获取 isValid 属性?

【问题讨论】:

  • 您的代码有问题。为什么你要改变 isValid 计算属性?不将属性传递给组件的操作中可能会发生变异。

标签: ember.js components computed-properties ember-components


【解决方案1】:

在将isValid 属性传递给quantity-list 组件时删除mut 助手。 mut 助手会在您的子组件中更改值时对其进行更改。你应该像这样传递isValid

{{quantity-list isValid=isValid}}

【讨论】:

    【解决方案2】:

    请记住,组件中定义的任何属性值都只是默认值,如果您传入一个属性,它会覆盖默认值。所以在这种情况下,你传入一个属性会覆盖默认行为,即 isValid 是一个计算值。

    换句话说,如果您希望组件具有 isValid 作为计算属性,则无需传入值。

    【讨论】:

      猜你喜欢
      • 2017-05-11
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      相关资源
      最近更新 更多