如何重现正确的JavaScript对象文字属性,该属性是CoffeeScript中的匿名函数
How to reproduce correct JavaScript object literal property that is an anonymous function from CoffeeScript?
我有以下有效的javascript:
App.Person = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
birthday: DS.attr('date'),
fullName: function() {
return this.get('firstName') + ' ' + this.get('lastName');
}.property('firstName', 'lastName')
});
根据 js2coffee.org 这个js相当于下面的咖啡脚本:
App.Person = DS.Model.extend(
firstName: DS.attr("string")
lastName: DS.attr("string")
birthday: DS.attr("date")
fullName: ->
@get("firstName") + " " + @get("lastName")
.property("firstName", "lastName")
)
但是,相同的咖啡脚本不会编译回有效的javascript。 它甚至不是有效的咖啡脚本,因为它错误为"意外"。'"
如何编写有效的咖啡脚本来创建与上面列出的相同或语法等效的JavaScript?
Coffeescript:
App.Person = DS.Model.extend(
firstName: DS.attr("string")
lastName: DS.attr("string")
birthday: DS.attr("date")
fullName: ( ->
@get("firstName") + " " + @get("lastName")
).property("firstName", "lastName")
)
编译为:
App.Person = DS.Model.extend({
firstName: DS.attr("string"),
lastName: DS.attr("string"),
birthday: DS.attr("date"),
fullName: (function() {
return this.get("firstName") + " " + this.get("lastName");
}).property("firstName", "lastName")
});
无论如何可以这样吗:
class App.Person extends DS.Model
name: DS.attr
我知道它不适用于这种语法,但我想使用 Coffee 的类语法
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 设置AngularJS控制器属性不能是使用Coffeescript的最后一行
- javascript:检查是否存在几个特定的对象属性(同样在coffeescript中)
- 从 CoffeeScript 中类的属性中的方法访问属性的属性
- 如何重现正确的JavaScript对象文字属性,该属性是CoffeeScript中的匿名函数
- 是否可以在Javascript/Coffeescript中的属性访问期间自动调用函数调用
- 嵌套匿名函数中的CoffeeScript类属性
- 扩展hash属性并防止用coffeescript和marionette js覆盖它
- coffeescript:获取对象的值's属性以'@'象征
- 在Coffeescript中,我将如何通过一个属性对对象数组进行分组
- 如何从coffeescript中的类属性访问类参数
- 在CoffeeScript中为我的单例类定义属性getter
- Coffeescript / Javascript -为什么对象属性未定义
- CoffeeScript对象属性和闭包
- 无法访问coffeescript中的属性
- 从Coffeescript更新用户属性
- CoffeeScript中未定义静态属性的问题
- 指向同一对象的 CoffeeScript 对象属性
- 如何在CoffeeScript中循环并输出多个对象的属性