简体   繁体   English

刷新Backbone.js中的事件?

[英]Refresh Event in Backbone.js?

Is it possible to handle F5 button in Backbone? 是否可以处理Backbone中的F5按钮? Something like: 就像是:

    events: {
        'click .btn': 'function1'
    }

Actually I have problem with destroying models after refresh. 其实我在刷新后销毁模型时遇到问题。 I get error, when the method get("title") is invoking. 当方法get(“ title”)调用时出现错误。 And this is App.js. 这是App.js。 And I thought to create new function after refresh event. 我想在刷新事件后创建新功能。

var App = (function () {

    var api = {
        Views: {},
        Models: {},
        Collections: {},
        Content: null,
        Router: null,
        init: function () {
            Backbone.history.start();
            return this;
        }
    };

    var ViewsFactory = {

        view1: function () {
            api.Models.Model1 = new Model1();
            if (!this.View1) {
                this.View1 = new api.Views.View1({
                    el: $(".content"),
                    model: api.Models.Model1
                }).on("trigger1", function () {
                        api.Models.Model1 = this.model;
                        api.Router.navigate("#test", {trigger: true});
                    });
            }
            return this.View1;
        },

        view2: function () {
            api.Collections.Collection1 = new Collection1();
            var test = new Model2({
                title: api.Models.Model1.get("title"),
                collection: api.Collections.Collection1
            });
            return this.View2 = new api.Views.View2({
                el: $(".content"),
                model: test
            });
        }
    };

    var Router = Backbone.Router.extend({
        routes: {
            "": "view1",
            "test": "view2"
        },

        view1: function () {
            var view1 = ViewsFactory.view1();
            view1.render();
        },


        view2: function () {
            var view2 = ViewsFactory.view2();
            view2.render();
        }

    });

    api.Router = new Router();

    return api;
})();

我通过路由器和“”路线来处理。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM