Javascript 主干模型验证未定义属性
所以我已经得到了我的模型,我正在尝试验证,根据书中的说明,这应该是可行的,但是我收到的ATTR是未定义的Javascript 主干模型验证未定义属性,javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,所以我已经得到了我的模型,我正在尝试验证,根据书中的说明,这应该是可行的,但是我收到的ATTR是未定义的 validate: (attrs, options)-> attrs 如果我继续这样做: validate: -> this.attributes 我可以很好地访问模型的属性,但是我不认为这是推荐的方法 这是我的型号代码: class Todo extends Backbone.Model defaults: title: 'def
validate: (attrs, options)->
attrs
如果我继续这样做:
validate: ->
this.attributes
我可以很好地访问模型的属性,但是我不认为这是推荐的方法
这是我的型号代码:
class Todo extends Backbone.Model
defaults:
title: 'default title'
completed: false
validate: (attrs, options)->
attrs
myTodo new Todo
myTodo.validate()
//returns false because attrs is undefined
我错过了什么?来自:
验证模型。验证(属性、选项)
默认情况下,[…]在save
之前调用validate,但如果通过{validate:true}
,也可以在set
之前调用
因此,validate
应该由主干调用,而不是直接由您调用。您正在自己调用validate
myTodo.validate()
但是不传递任何参数,所以attrs
是未定义的
,因为您没有传递它的值
调用
myTodo.save()
或myTodo.set(新值,validate:true)时,应该让主干调用validate
,非常感谢。现在感觉很明显!:)