我已经开始学习 ember.js 框架,但我被困在如何使用框架具有的 URL 类型功能的设置上。
http://emberjs.com/guides/routing/specifying-the-location-api/
我有这个简单的 application.js
App = Ember.Application.create();
App.Router.reopen({
location: 'history'
});
App.Router.map(function () {
this.route('about');
});
App.ApplicationRoute = Ember.Route.extend({
model: function () {
return appdata;
}
});
App.IndexRoute = Ember.Route.extend({
setupController: function (controller) {
// Set the IndexController's `title`
controller.set('indextitle', "My Index title");
},
renderTemplate: function () {
this.render({ outlet: 'indexoutlet' });
}
});
App.AboutRoute = Ember.Route.extend({
model: function () {
return appdata;
},
renderTemplate: function () {
this.render({ outlet: 'aboutoutlet' });
}
});
var appdata = { mytext: '', theplaceholder: 'Enter new text', attr:'Yeap!' }
如果我不使用
App.Router.reopen({
location: 'history'
});
应用程序工作正常,它通过将 URL 附加到它应该做的 '~/EmberjsTest.aspx#/about' 来转到 'about' 路由。
但是,因为我不喜欢页面 URL 中的井号,我希望它被删除并且这样做指南说我们应该放置以下代码:
App.Router.reopen({
location: 'history'
});
但是当我这样做时,我在 Chrome 控制台中收到一条错误消息:“断言失败:URL '/EmberjsTest.aspx' 确实与您的应用程序中的任何路由匹配”
我究竟做错了什么?
提前致谢