Ember.js Ember.computed(v2.0.0):获取(键),设置(键,值)

Ember.js Ember.computed(v2.0.0):获取(键),设置(键,值),ember.js,ecmascript-6,Ember.js,Ecmascript 6,在Ember v2.0.0指南“对象模型”一章“计算属性”一节中: 请帮助我理解结构“get(key)”、“set(key,value)”和“var[firstName,lastName]=…” 新的ES6和/或Ember功能?get(key)、set(key、value)只是Ember.js中新计算属性语法的方法签名。因此,如果在Ember.js中编写computed属性,则需要实现这两种方法,并将它们作为对象传递给Ember.computed方法,例如: myComputedProperty

在Ember v2.0.0指南“对象模型”一章“计算属性”一节中:

请帮助我理解结构“get(key)”、“set(key,value)”和“var[firstName,lastName]=…

新的ES6和/或Ember功能?

get(key)、set(key、value)
只是Ember.js中新计算属性语法的方法签名。因此,如果在Ember.js中编写computed属性,则需要实现这两种方法,并将它们作为对象传递给
Ember.computed
方法,例如:

myComputedProperty: Ember.computed('propertyToDependOn', {

  get() { // <= function, equal to - get: function() {
    // ...
  },

  set(key, value) { <= function
    // ...
  }

})
myComputerdProperty:Ember.computed('propertyToDependOn'{

get(){//它只是一个包含两个函数的散列,一个是
get
set
函数。
get(key)
相当于
get:function(key)
。这是ES6的东西。分割的部分也是ES6的一部分:
get
set
只是函数。它与ES6没有任何关系。除了使用ES6中的简明方法语法。记住
set
中返回值,如果你想使用
fullName
属性,其他对于JS、Ember.JS,尤其是Babel/ES6来说,这个道具不会被缓存。因此,非常感谢您的回答Daniel。我现在意识到Ember版本1.12中引入了一个新的计算属性离散getter和setter语法。我很惊讶在t中没有找到任何关于Ember.computed的getter和setter的信息he Ember API?或者我错了?我还被2.0.0版指南和教程中的一些文字弄糊涂了:“……因此,如果您想将计算属性用作setter,您需要检查参数的数量,以确定它是作为getter还是setter调用”当然,它已经过时了,但是在这里-,你可以找到上面提到的这个方法。你提到的这个文本-“…因此,如果你想使用计算属性作为setter,你需要检查参数的数量,以确定它是作为getter还是setter被调用”-我认为这是过去的遗物。不再需要这样做。在新的计算属性语法出现之前,需要检查参数的数量,但现在不需要了。
myComputedProperty: Ember.computed('propertyToDependOn', {

  get() { // <= function, equal to - get: function() {
    // ...
  },

  set(key, value) { <= function
    // ...
  }

})