我在主干和路由方面遇到了一些问题。
以下是代码:
//routing
var AppRouter = Backbone.Router.extend({
routes: {
"":"home",
"example": "example",
"example/:data": "example_data"
},
home: function(){
alert('home');
},
example: function(){
alert('example');
},
example_data: function(data){
alert('example '+data);
}
});
var app_router = new AppRouter();
//Backbone.history.start({pushState: true});
Backbone.history.start();
现在,如果我去根网址:
file:///Users/my_user/workspace/project/index.html
我可以看到警报' home'。 如果我将网址更改为
file:///Users/my_user/workspace/project/index.html#example
我可以看到警告'示例',如果我将网址更改为:
file:///Users/my_user/workspace/project/index.html#example/something
我可以看到警告'示例'。
现在我有两个问题:第一个是我真的很感谢删除'#'符号和使用' /'代替。第二个问题是如果我退出这行代码:
//Backbone.history.start({pushState: true});
警报不再起作用。我怎么解决这个问题?
这是项目的完整代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>App</title>
</head>
<body>
<div id='test-routing'><a href='#example'>example</a></div>
<div id='test-view'></div>
<script src="lib/jquery-2.1.3.min.js"></script>
<script src="lib/underscore-min.js"></script>
<script src="lib/backbone-min.js"></script>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.26.min.js"></script>
<script>
//routing
var AppRouter = Backbone.Router.extend({
routes: {
"":"home",
"example": "example",
"example/:data": "example_data"
},
home: function(){
alert('home');
},
example: function(){
alert('example');
},
example_data: function(data){
alert('example '+data);
}
});
var app_router = new AppRouter();
Backbone.history.start({pushState: true});
//Backbone.history.start();
</script>
</body>
</html>