Hallo,
verwende folgenden Router für die Navigation. Für die Route "home" via http://localhost:8080/cfm funktioniert alles (da hängt kein Webservice hinter). Für die Route "categories" via http://localhost:8080/cfm/rest/cat/all stellt er nur die JSON-Response des Webservice dar, er loggt jedoch gar nichts in der Konsole. Somit greift die Route nicht und auch kein anderer Teil der Skripte wird ausgeführt.
Was mache ich falsch?
Einbinden des loaders in index.html
loader.js - started den Router
router.js
Der CategoryView
verwende folgenden Router für die Navigation. Für die Route "home" via http://localhost:8080/cfm funktioniert alles (da hängt kein Webservice hinter). Für die Route "categories" via http://localhost:8080/cfm/rest/cat/all stellt er nur die JSON-Response des Webservice dar, er loggt jedoch gar nichts in der Konsole. Somit greift die Route nicht und auch kein anderer Teil der Skripte wird ausgeführt.
Was mache ich falsch?
Einbinden des loaders in index.html
HTML:
<script data-main="resources/js/app/loader" src="resources/js/libs/require.js"></script>
loader.js - started den Router
Code:
console.log("loader is executing");
requirejs.config({
baseUrl : "resources/js",
paths : {
jquery : 'libs/jquery-1.9.1',
underscore : 'libs/underscore',
bootstrap : 'libs/bootstrap',
backbone : 'libs/backbone',
text : 'libs/text',
router : 'app/router'
},
shim : {
'backbone' : {
deps : [ 'jquery', 'underscore' ],
exports : 'Backbone'
},
'underscore' : {
exports : '_'
}
}
});
define(
"initializer",
[ "jquery" ],
function($) {
console.log("initializer is executed");
$('head')
.append(
'<link rel="stylesheet" href="resources/css/bootstrap.css" type="text/css" media="all"/>');
});
require([ 'initializer', 'router' ]);
router.js
Code:
define("router", [ 'jquery', 'underscore', 'backbone', 'app/views/category' ],
function($, _, Backbone, CategoryView) {
$(document).ready(new function() {
console.log("ready");
});
var Router = Backbone.Router.extend({
initialize : function() {
Backbone.history.start();
},
routes : {
'' : 'home',
'all' : 'categories'
},
home : function() {
console.log("navigating to home");
},
categories : function() {
var categoryView = new CategoryView();
categoryView.render();
console.log("categories called");
}
});
var router = new Router();
return router;
});
Der CategoryView
Code:
define([ 'jquery', 'underscore', 'backbone' ], function($, _, Backbone) {
var CategoryView = Backbone.View.extend({
el : '.page',
render : function() {
var that = this;
that.$el.html('Der Inhalt von CategoryView');
},
});
return CategoryView;
});