Backbone.Js Cookbook中有插图,说明如何使用多行表达式设置默认值。
var InvoiceItemModel = Backbone.Model.extend({
defaults: {
description: '',
price: 0,
quantity: 1,
date: function() {
var date = new Date();
return date.toISOString();
}
}
});
但是,当我尝试以以下方式访问日期值时:
var invoiceItemModel = new InvoiceItemModel();
console.log(invoiceItemModel.get('date'));
我在Google Chrome控制台中收到此消息:
该值的正确方法是什么?
如果要在发票创建日期上设置日期,则需要评估匿名函数以获取date
值:
var InvoiceItemModel = Backbone.Model.extend({
defaults: {
description: '',
price: 0,
quantity: 1,
date: (function() {
var date = new Date();
return date.toISOString();
})()
}
});
参见演示。
否则,您必须拥有的date
属性是必须调用的函数:
var invoiceItemModel = new InvoiceItemModel();
console.log(invoiceItemModel.get('date')());
参见演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句