单击时收听新创建的模型
Listening to a newly created model on click?
我正在单击时创建一个模型,想知道在哪里侦听模型上的验证事件的最佳位置?我创建模型,在属性上设置输入值,然后创建一个侦听器,在单击处理程序中使用此侦听器感觉不对,但也许我错了?
.JS
buttonClicked: function(event) {
var input = this.$('.js-input'),
itemValue = input.val(),
model = new Item({
item: itemValue
}, {
validate: true
});
this.listenTo(model, 'invalid', this.onFormError, this);
}
链接到代码笔 http://codepen.io/styler/pen/rearYp
这取决于你对模型做了什么。如果要在新视图中显示它,验证应在新视图的初始化中。
var view= Backbone.View.extend({
model:Item,
initialize: function (model, options) {
this.listenTo(this.model, 'invalid', this.onFormError, this);
},
......
}
如果您在本地使用它,则可以将其放在单击处理程序中。
试试这个...
var view= Backbone.View.extend({
model:Item,
initialize: function (model, options) {
this.model= new Item();
this.listenTo(this.model, 'invalid', this.onFormError, this);
this.render();
},
buttonClicked: function(event) {
var input = this.$('.js-input'),
itemValue = input.val(),
this.model.set('item', itemValue);
if(!this.model.isValid(true)){
return;
}
}
......
}
相关文章:
- 取消在集合中创建模型.与重复作战
- Mongoosejs:如何在没有Schema的情况下创建模型
- 如何创建模型的实例并加载它
- 煎茶触摸 2 商店 - 在创建模型之前修改响应
- 使用猫鼬重新创建模型
- 使用AngularJS创建模型
- 正在获取已创建模型的ID字段
- 在EmberJS中创建模型实例的问题
- 在单独的文件中使用Sequelize创建模型,并在项目中使用它们
- 当模型依赖于另一个模型时创建模型
- 当模式位于单独的文件中时,创建模型时是否存在任何问题
- 当在环回中创建模型实例时,如何以编程方式填充字段
- 在expressjs中创建模型
- 在Backbone.js中从非json服务器响应创建模型实例
- 如何在动作链接中传递选择列表值,而不使用javascript并为其创建模型
- 在Javascript中创建模型对象列表
- 使用不同的URL来创建模型的主干方法是什么?
- 创建模型可以清除屏幕
- 从带有主干的服务器获取数据,创建模型和集合
- Node.js从json创建模型对象