Backbone.js 主干网-用户案例

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,

假设一个用户正在浏览一个页面,检查并选择项目。 我有一个主干模型对象,每次用户选择我想要更新的对象时

我将其保存在一个单独的JavaScript文件中,该文件源于我的HTML:

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 {
    
        }
    });
    

    瞧!现在你的页面已经准备好与你的模型对话了。

    主干模式是为回答你的问题而设计的。正如其他受访者所说,连接一个视图,