0
反序列化我有一個路由器,看起來像這樣:使用Ember.NoneLocation同時仍然使用路由器在UIWebView的
App.Router = Em.Router.extend({
enableLogging: true,
root: Em.Route.extend({
index: Em.Route.extend({
route:'/',
connectOutlets: function(router, context){
router.get('applicationController').connectOutlet('textChallenge', App.TextChallenge.find());
}
}),
textChallenge: Em.Route.extend({
route:'/textChallenge/:challengeId',
connectOutlets: function(router, context){
router.get('applicationController').connectOutlet('textChallenge', context);
},
//this doesn't really work yet
serialize: function(router, context){
return{
challengeId: context.get('challengeId')
}
},
deserialize: function(router, urlParams){
return App.TextChallenge.find(urlParams.challengeId);
}
})
})
});
不過,我試圖在UIWebView中運行這個,它不喜歡的網址被混淆(見本問題:https://github.com/emberjs/ember.js/issues/1575)。我只是不太明白如何在這裏實現Ember.NoneLocation。有什麼想法嗎?
所以那會是每條路線的設置上設置屬性?或者對於整個路由器對象?嘿,謝謝你回覆我的票後在這裏見到我:)我相信我在這一刻欠你一杯啤酒。 – jasongonzales
這對路由器對象來說是全局的。我建議讀取Router的源代碼,以及每個Location實現。它會幫助你理解這一切是如何運作的。而且,沒問題。我喜歡比利時釀造。 :-) –
嗯,看起來我誤解了一些關於它是如何工作的。有沒有可能在路由器級別設置它,但仍然可以反序列化URL?我也喜歡比利時人:) – jasongonzales