【问题标题】:this.propertyName VS this.get('propertyName') in an ember component [duplicate]ember 组件中的 this.propertyName VS this.get('propertyName') [重复]
【发布时间】:2016-06-14 09:13:15
【问题描述】:

我在 EmberJS 方面相对较新,我正在努力确保我了解幕后发生的事情。 我知道对于计算属性,我需要使用 this.get('propertyName') 来计算和获取属性。如果我们只是在谈论具有值的普通属性,那么使用 this.propertyName 与 this.get('propertyName') 有什么区别?

import Ember from 'ember';

export default Ember.Component.extend({
  data: ['foobar', 'foo', 'bar'],
  didInsertElement() {
    let data = null;
    data = this.get('data');
    // VS
    data = this.data;
  }
});

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    这里已经详细回答了When to use getters/setters and when to safely omit them?

    (我还不能将此问题标记为“可能重复”)

    Ember 中方法或属性的定义与 Vanilla JavaScript,但它们在 Ember 中的解析方式不同。你 不使用 POJO。每次你从一个 Route/Controller/View,您正在添加处理的 Ember 层 方法和属性不同。

    不建议直接访问属性。在非常简单的情况下,它可能没问题,并且您得到相同的值,但在更复杂的情况下,您可能会得到不同的值。

    PS:计算属性必须始终通过 get() 访问,因为那是重新计算它们的时刻。我认为 Ember 以某种方式缓存了这些值,但我还是个新手 :)

    【讨论】:

      猜你喜欢
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多