Javascript Backbone.js:如何在处理模型属性时捕捉输入错误?
我是JS开发新手,我发现自己花了很多精力来修复模型属性中的错误,尤其是model.get的用法。虽然我的单元测试确实捕捉到了其中的大部分,但在编写代码时,修复和记住名称仍然很烦人。有什么东西可以提醒我这些打字错误吗?我认为测试是最好的方法Javascript Backbone.js:如何在处理模型属性时捕捉输入错误?,javascript,backbone.js,Javascript,Backbone.js,我是JS开发新手,我发现自己花了很多精力来修复模型属性中的错误,尤其是model.get的用法。虽然我的单元测试确实捕捉到了其中的大部分,但在编写代码时,修复和记住名称仍然很烦人。有什么东西可以提醒我这些打字错误吗?我认为测试是最好的方法 包括验证/拼写检查代码,最终将成为生产应用程序的一部分,这是一个坏主意。如果您键入的变量名称不正确,那么应该通过开发时测试而不是运行时验证来发现它。我认为测试是最好的方法 包括验证/拼写检查代码,最终将成为生产应用程序的一部分,这是一个坏主意。如果您键入的变量
包括验证/拼写检查代码,最终将成为生产应用程序的一部分,这是一个坏主意。如果您键入的变量名称不正确,那么应该通过开发时测试而不是运行时验证来发现它。我认为测试是最好的方法
包括验证/拼写检查代码,最终将成为生产应用程序的一部分,这是一个坏主意。如果您键入的变量名称不正确-它应该由开发时测试发现,而不是一些运行时验证。我们使用的一种策略是定义一个散列,并将其用于setter和getter
var ATTRS = {
attr1: 'attr1',
attr2: 'attr2'
}
model.set (ATTRS.attr1, 'attr1_val');
model.get (ATTRS.attr1);
对于某些情况,例如,由于JS不允许在散列的左侧使用变量,因此您将无法使用该变量。但在大多数情况下,它有助于消除最简单的打字错误
{ ATTRS.attr: 'def_val' } // this will give an error
希望这有助于我们使用的一种策略是定义一个散列并将其用于setter和getter
var ATTRS = {
attr1: 'attr1',
attr2: 'attr2'
}
model.set (ATTRS.attr1, 'attr1_val');
model.get (ATTRS.attr1);
对于某些情况,例如,由于JS不允许在散列的左侧使用变量,因此您将无法使用该变量。但在大多数情况下,它有助于消除最简单的打字错误
{ ATTRS.attr: 'def_val' } // this will give an error
希望有此帮助首先,安装插件\u super: 现在创建一个抽象模型:
YourAbstractModel = Backbone.Model.extend({
get : function(attr){
if( !_.has(this.defaults, attr) ){
throw 'Invalid attribute: ' + attr;
}
return this._super(attr);
}
});
您的模型应该扩展抽象而不是主干。模型应该设置默认值。首先,安装插件\u super: 现在创建一个抽象模型:
YourAbstractModel = Backbone.Model.extend({
get : function(attr){
if( !_.has(this.defaults, attr) ){
throw 'Invalid attribute: ' + attr;
}
return this._super(attr);
}
});
您的模型应该扩展抽象而不是主干.model,并且您应该设置默认值