我有一个包含2个部分的web应用程序(使用ember 2.0)。左侧菜单和右侧内容相互独立。 导航到路由名称“PageRoute”,应用程序从服务器加载配置JSON,处理它和检查,应该在哪里呈现,内容:Ember JS - 从路由动态呈现模板并追加
{
...
position: "left",
...
}
或
{
...
position: "right",
...
}
然后我使用“这一点。 transitionTo“并将其重定向到RightRoute或LeftRoute。 012RRightRoute是好的,LeftRoute是问题。
开头 - 左侧菜单为空。当加载LeftRoute时,它应该追加(不替换)一些菜单(渲染模板或组件)。 当再次加载LeftRoute时,应从模型渲染新菜单并将其附加到现有的左侧菜单,以便可以在渲染菜单之间进行交换,并且最后一个菜单将可见。 同时,在交换当前菜单时,应该从“左侧菜单列表”中删除,并且上一个菜单将可见。
我发现一些一些解决方案追加视图,但视图在Ember 2.0中已弃用,我试过像这样做http://emberjs.jsbin.com/defapo/3/edit?html,js,output但路由器无法访问组件中的动作(使用pushObject),而我试着喜欢使用的数据存储或动态地修改模型无数其他方法等
它的工作原理!但是RightRoute存在问题。它不仅是附加菜单,而且还擦除(重新渲染)右侧的内容。在RightRoute中,我正在渲染_ {{outlet“maincontent”}} _ – user2783491
我并未完全明白RightRoute的问题。你能否广泛描述它? –
左边是菜单,右边是内容,两者都是独立的。当它转换到LeftRouter时,它假定只附加新菜单,并且不对渲染的右部分和内容做任何事情。当它转换到RightRoute时,左边的部分(菜单)应该保持原样,所有的都在渲染菜单之前,右边的部分应该渲染新的内容。希望这是可以理解的。 – user2783491