我試圖創建一個Ember.Route
,我需要相應的模板來了解當前路徑的路徑。我知道那裏有ApplicationController.currentPath
,但是我的路線是setupController()
我可以得到ApplicationController
,但是如果我得到currentPath
屬性,它將返回undefined
。控制器的創建順序
這是爲什麼?
這是我的代碼(簡化爲只顯示問題):
AxpoEM = Ember.Application.create({});
AxpoEM.Router.map(function() {
this.route('something', { path: '/'})
});
AxpoEM.SomethingRoute = Ember.Route.extend({
setupController: function(controller, model) {
var path = this.controllerFor('application').get('currentPath');
controller.set('path', path);
}
});
這是HTML:
<script type="text/x-handlebars" data-template-name="something">
Path: {{path}}
</script>
這裏是一個(非)工作小提琴:
我沒有給SomethingController直接訪問。有問題的代碼位於我的真實路由繼承的ParentRoute中,因此沒有自動創建的ParentController來執行您的建議。因此,代碼應該生活在ParentRoute(我猜)。 –