Backbone.js 主干网-用户案例
假设一个用户正在浏览一个页面,检查并选择项目。 我有一个主干模型对象,每次用户选择我想要更新的对象时 我将其保存在一个单独的JavaScript文件中,该文件源于我的HTML:Backbone.js 主干网-用户案例,backbone.js,Backbone.js,假设一个用户正在浏览一个页面,检查并选择项目。 我有一个主干模型对象,每次用户选择我想要更新的对象时 我将其保存在一个单独的JavaScript文件中,该文件源于我的HTML: var app = {}; var newLineup = null; var team = document.getElementsByName('team'); app.Lineup = Backbone.Model.extend({ defaults: { team: team,
var app = {};
var newLineup = null;
var team = document.getElementsByName('team');
app.Lineup = Backbone.Model.extend({
defaults: {
team: team,
completed: false
},
idAttribute: "ID",
initialize: function () {
console.log('Book has been intialized');
this.on("invalid", function (model, error) {
console.log("Houston, we have a problem: " + error)
});
},
constructor: function (attributes, options) {
console.log('document',document);
console.log('Book\'s constructor had been called');
Backbone.Model.apply(this, arguments);
},
validate: function (attr) {
if (attr.ID <= 0) {
return "Invalid value for ID supplied."
}
},
urlRoot: 'http://localhost:3000/api/lineups'
});
function createNewLineupInDatabase(){
newLineup = new app.Lineup({team: team, completed: false});
newLineup.save({}, {
success: function (model, respose, options) {
},
error: function (model, xhr, options) {
}
});
}
var-app={};
var newLineup=null;
var team=document.getElementsByName('team');
app.Lineup=Backbone.Model.extend({
默认值:{
团队:团队,
已完成:false
},
ID属性:“ID”,
初始化:函数(){
console.log(“账簿已初始化”);
此.on(“无效”,函数(模型,错误){
log(“休斯顿,我们有一个问题:+错误)
});
},
构造函数:函数(属性、选项){
console.log(“文档”,文档);
log('调用了Book的构造函数');
Backbone.Model.apply(这个,参数);
},
验证:函数(attr){
如果(attr.ID如果代码中存在前端ui/任何用户交互,则创建一个主干视图非常有用,该视图使用事件对象,您可以在其中设置事件处理程序
您还可以将视图链接到模型,以允许您的模型/对象在没有范围问题的情况下进行更新。如果代码中存在前端ui/任何用户交互,则创建一个主干视图非常有用,该视图使用事件对象,您可以在其中设置事件处理程序
您还可以将视图链接到模型,以允许您的模型/对象在没有范围问题的情况下进行更新。如果代码中存在前端ui/任何用户交互,则创建一个主干视图非常有用,该视图使用事件对象,您可以在其中设置事件处理程序
您还可以将视图链接到模型,以允许您的模型/对象在没有范围问题的情况下进行更新。如果代码中存在前端ui/任何用户交互,则创建一个主干视图非常有用,该视图使用事件对象,您可以在其中设置事件处理程序
您还可以将视图链接到模型,以允许您的模型/对象在没有范围问题的情况下进行更新。主干模式旨在回答您的问题。正如其他受访者所说,连接一个视图,该视图将您的模型作为参数,并允许您将DOM事件绑定到模型
也就是说,您不必使用框架的其余部分,我想您可以通过自己处理模型来使用主干网提供的所有功能
你需要担心几件事
给你的模型一点封装
为您的复选框设置侦听器
将模型应用于您的应用程序
主干为视图中的模型提供了整洁的封装,但如果您可以接受它,只需使用app
变量即可,该变量位于您发布的JavaScript文件的范围内
当您准备实例化模型时,将其设置为app
的属性:
app.newLineup = new app.Lineup({team: team, completed: false});
将实例和构造函数放在同一个对象中可能看起来很奇怪,但在拉出主干的其余部分之前,没有其他选项
听众
因此,你有N个你关心的复选框。假设你给它们一个类,比如说,。options
。你的听众看起来像
$( ".options" ).change(function() {
if(this.checked) {
//Do stuff with your model
//You can access it from app.newLineup
} else {
}
});
瞧!现在您的页面已经准备好与您的模型对话了。主干模式是为回答您的问题而设计的。正如其他受访者所说,连接一个视图,该视图将您的模型作为参数,并允许您将DOM事件绑定到模型
也就是说,您不必使用框架的其余部分,我想您可以通过自己处理模型来使用主干网提供的所有功能
你需要担心几件事
给你的模型一点封装
为您的复选框设置侦听器
将模型应用于您的应用程序
主干为视图中的模型提供了整洁的封装,但如果您可以接受它,只需使用app
变量即可,该变量位于您发布的JavaScript文件的范围内
当您准备实例化模型时,将其设置为app
的属性:
app.newLineup = new app.Lineup({team: team, completed: false});
将实例和构造函数放在同一个对象中可能看起来很奇怪,但在拉出主干的其余部分之前,没有其他选项
听众
因此,你有N个你关心的复选框。假设你给它们一个类,比如说,。options
。你的听众看起来像
$( ".options" ).change(function() {
if(this.checked) {
//Do stuff with your model
//You can access it from app.newLineup
} else {
}
});
瞧!现在您的页面已经准备好与您的模型对话了。主干模式是为回答您的问题而设计的。正如其他受访者所说,连接一个视图,该视图将您的模型作为参数,并允许您将DOM事件绑定到模型
也就是说,您不必使用框架的其余部分,我想您可以通过自己处理模型来使用主干网提供的所有功能
你需要担心几件事
给你的模型一点封装
为您的复选框设置侦听器
将模型应用于您的应用程序
主干为视图中的模型提供了整洁的封装,但如果您可以接受它,只需使用app
变量即可,该变量位于您发布的JavaScript文件的范围内
当您准备实例化模型时,将其设置为app
的属性:
app.newLineup = new app.Lineup({team: team, completed: false});
将实例和构造函数放在同一个对象中可能看起来很奇怪,但在拉出主干的其余部分之前,没有其他选项
听众
因此,你有N个你关心的复选框。假设你给它们一个类,比如说,。options
。你的听众看起来像
$( ".options" ).change(function() {
if(this.checked) {
//Do stuff with your model
//You can access it from app.newLineup
} else {
}
});
瞧!现在你的页面已经准备好与你的模型对话了。主干模式是为回答你的问题而设计的。正如其他受访者所说,连接一个视图,