<分区>
应该如何在 YUIdoc 中记录只读计算属性(例如,Ember.js 模型)?
假设我有一个简单的模型:
/**
* Person model
* @class Person
* @extends Ember.Object
* @constructor
*/
Person = Ember.Object.extend({
/**
* @property firstName
* @type String
*/
firstName: null,
/**
* @property lastName
* @type String
*/
lastName: null,
/**
* ? what goes here?
*/
fullName: Ember.computed('firstName', 'lastName', function() {
return `${this.get('firstName')} ${this.get('lastName')}`;
})
});
fullName
应该标记成什么?
它是一个@property
吗?如果是这样,是否应该将其标记为 @readOnly
?我可以从两个方面来看待它——因为它没有 setter 函数,所以它是一个只读属性。另一方面,它派生自可编辑/可设置的属性,因此它可以随着用户操作而改变。
还是@method
?因为它不仅使用了其他属性,而且实际上对它们进行了转换?在这样一个简单的示例中,转换部分并不那么明显,但是假设一个计算属性类似于 nameInitials
,它只返回名字和姓氏的第一个字母等?
另外:我对 Ember 属性使用 @property
标签而不是 @attribute
标签是否正确?