2017-03-21 82 views
0

我有一個主模板,說showcountry.hbs,裏面我有一個組件show-state.hbs。在show-state.js我試過把this.transitionTo('routename')。我發現它適用於showcountry以外的路線。複雜的事情稍微的是,在我的router.js入口看起來像下面this.route('showcountry' , {path : '/app/mod/country' });如何從EmberJS中的組件轉換到相同的路由

我發現,在組件時,我給在this.transitionTo它拋出無法識別的網址錯誤的URL模式。

請幫忙。

回答

0

transitionTo method如果你在路線。

transitionToRoute method如果你在控制器。

要轉換到相同的路線,您可以使用refresh method。 所以要解決問題,您需要從組件發送操作以路由到調用刷新方法。

注:如果路線已經呈現,那麼你就不能過渡到目前的路線,但是如果你使用dynamic segmentsqueryParams,那麼你可以發送參數transitionTo方法,它將調用所有的模型掛鉤和重新渲染再次。 Sample twiddle這證明了這個

+0

我的應用程序中沒有控制器,我也不想添加它。是否有可能用組件中的transitionTo來展示你的例子? – Rahul

+0

您是否在我的答案中檢查過samle twiddle https://ember-twiddle.com/9a839b38e03421e4bb9fec722c269ea7?openFiles=routes.a.js%2C,它沒有使用控制器。 – kumkanillam

+0

順便說一句,你可以在組件中做,但你不應該在組件中調用transitionTo,你應該發送動作來爲此路由。 – kumkanillam

相關問題