1

不知何故,即使在最简单的示例中,当我尝试转换到另一个状态/路线时,我想出的视图也会消失。

我的索引路线如下所示:

--Application-------------------------------
| --Header-------------------------------- |
| | --ViewA----------------------------- | |
| | | View A!                          | | |
| | |__________________________________| | |
| |                                      | |
| | --ViewB----------------------------- | |
| | | View B!                          | | |
| | |__________________________________| | |
| |______________________________________| |
|                                          |
| --Main---------------------------------- |
| | I stay here, no matter what!         | |
| |______________________________________| |
|__________________________________________|

一旦我进入“下一个”状态,ViewB 就会消失,看起来像这样:

--Application-------------------------------
| --Header-------------------------------- |
| | --ViewA----------------------------- | |
| | | View A!                          | | |
| | |__________________________________| | |
| |______________________________________| |
|                                          |
| --Main---------------------------------- |
| | I stay here, no matter what!         | |
| |______________________________________| |
|__________________________________________|

可以在此示例应用程序http://jsfiddle.net/SAra5/4/中看到该行为

4

2 回答 2

0

如果您没有指定它在新路线上做任何事情,它看起来会感到困惑并且不会呈现所有出口。使事情正常工作的方法是在NextRoute.

App.NextRoute = Ember.Route.extend({
        renderTemplate: function () {
        this.render('header', {'outlet':'header', 'into':'application'});
        this.render('main', {'outlet':'main', 'into':'application'});

        this.render('viewB', {'outlet':'viewB', 'into':'header'});
        this.render('viewA', {'outlet':'viewA', 'into':'header'});
    }
});

如果在对 进行更改之前在 index 路由中交换this.render('viewB', {'outlet':'viewB', 'into':'header'});with ,您会看到它现在只呈现 viewB!很奇怪吧?尽管在当前时间点,我不确定它是错误还是功能。this.render('viewA', {'outlet':'viewA', 'into':'header'});NextRoute

于 2013-02-15T11:11:36.633 回答
0

我不确定您的预期行为,但最好将您抽象出来,IndexRoute因为您在每条路线中都需要相同,否则它将被删除:http: //jsfiddle.net/SAra5/5/

但是,您的示例似乎令人费解。我认为您的解决方案在于{{render}}. 请在此处查看我的帖子:emberjs 车把模板中的不同渲染技术

于 2013-02-15T11:26:35.180 回答