2012-06-06 22 views
1

我想升級我的代碼,使用從emberjs主控路由器而不是依靠ember-routemanager。我的代碼主要基於https://gist.github.com/2728699。我創建了一個小提琴,以顯示我在說什麼http://fiddle.jshell.net/pszvJ/19/show/#/posts路由器只工作一級而不是根

當我點擊「測試評論路線」和測試評論顯示「。我從來沒有得到我應該有的console.log,但它適用於兩個「posts」actions。

此外,當我試圖直接到達/。我得到了「無法找到路徑/」的狀態,即使/應該是我的根元素,我打印主入口點。入口點登錄,但隨後失敗。

謝謝您的幫助

回答

4

根據你的小提琴,你的RO uter具有狀態:

  • root.posts.index(#/帖)
  • root.posts.show(#/帖/ 42)
  • root.posts.comments.index(#/帖/評論)
  • root.posts.comments.show(#/職位/評論/ 42)

如果你要處理像#/職位/ 42 /評論/ 1, 「意見」 的網址國家必須嵌套到「posts.show」狀態。

而且您無法直接到達「/」,因爲您沒有爲該網址定義任何狀態。

請參閱this fiddle

+0

謝謝!有用。但是,我決定將帖子放在root.index中,以便始終執行root.index中的connectOutlets。由於我做了這個改變,我得到了錯誤找不到路徑的狀態。這個問題在這裏可見:http://fiddle.jshell.net/DHN2u/5/ 我已經嘗試在routePath函數中添加一個斷點,但它似乎返回一個狀態。 – gingman

+0

我不明白你想達到什麼目的。 ConnectOutlet的目的是創建一個視圖並將其連接到一個控制器和一個handlebars {{outlet}}。你爲什麼要「隨時」這樣做?你可以在這裏找到有用的信息(https://emberjs-staging-new.herokuapp.com/guides/outlets#toc_the-router)。 –

+0

我想有一個結構,我必須絕對擁有以前的結果。在根中,我想初始化視圖。在帖子索引中,我想顯示可用的帖子。在發佈後,我想顯示一個帖子,但我也希望發佈帖子列表。想象一下,你有一個左側面板和帖子列表,當我們選擇一個帖子時,我們有正確的細節。這就是爲什麼我希望我的post.show依賴於post.index,這樣即使直接找到帖子,我也可以始終擁有帖子列表。順便說一句,謝謝你的鏈接。這是迄今爲止我見過的最好的例子。 – gingman