saintbyte
@saintbyte
Django developer

Backbone и ссылки. Как заставить работать?

Есть : backbone , jquery , require ,underscore
Загружает все require. Загружается так : в app.js загружается все библиотеки , модели, вьюхи и router.js и делается
Router.init
Соответственно: такой router.js.
define([
    'backbone'
], function(Backbone){
    console.log(Backbone);
    var AppRouter = Backbone.Router.extend({
        routes: {
            // Define some URL routes
            //'':'defaultAction',
            //'*actions': 'defaultAction',
            '*path': 'defaultAction',


            '/projects': 'showProjects',
            'projects': 'showProjects',
            '/users': 'showUsers'

        },
        defaultAction: function() {
            console.log('index route');
        },
        showProjects: function()
        {
            console.log('showProjects');
        }

    });

    var initialize = function(){
        console.log('Router.init');
        var app_router = new AppRouter;

    };
    return {
        initialize: initialize
    };
});

Происходит все нормально:
App.init
Router.init
index route

UPDATE:
---
В app.js главный объект app инициализируется вот так:
console.log('App.init');
        console.log(Views);
        Router.initialize();
        Views.initialize();
        Backbone.history.start({pushState:true, root: "/app111/"});

---
Соответственно index route - работает , вот только не удается заставить работать другие роуты , хотелось заставить их работать по кликам по ссылкам. Подскажите как
  • Вопрос задан
  • 2505 просмотров
Решения вопроса 1
aen
@aen
Keep calm and 'use strict';
Роут '*path': 'defaultAction' должен быть самым последним. При обработке роута роутер проходится по хешу с роутами и ищет тот, который ему подойдет. В вашем случае роутер всегда будет останавливаться на дефолтном роуте '*path': 'defaultAction' .
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mlnkv
@mlnkv
JavaScript Developer
а где у вас `Backbone.history.start();` ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы