Javascript 在angular js中嵌套ng视图

Javascript 在angular js中嵌套ng视图,javascript,angularjs,Javascript,Angularjs,我在angular有两个不同的应用程序。在集成到单个应用程序的过程中,我必须 嵌套视图 对于示例(index.html)是 我的AngularJS应用程序 角种子应用程序:v 我的应用程序视图之一是(view2.html) 这是视图1的局部视图 {{'当前版本为v%version%.|插值} 现在,这个应用程序内部又有了不同的视图 我试过了,但是页面没有加载。是否有可能嵌套ng视图 如果不可能,可以解释一下吗 提前感谢更新答案: UI路由器(现在位于此处:)通常被认为是Angul

我在angular有两个不同的应用程序。在集成到单个应用程序的过程中,我必须

嵌套视图

对于示例(index.html)是


我的AngularJS应用程序
角种子应用程序:v
我的应用程序视图之一是(view2.html)


这是视图1的局部视图

{{'当前版本为v%version%.|插值}
现在,这个应用程序内部又有了不同的视图

我试过了,但是页面没有加载。是否有可能嵌套ng视图

如果不可能,可以解释一下吗

提前感谢

更新答案:

UI路由器(现在位于此处:)通常被认为是AngularJS中复杂路由的最佳解决方案


原始答复:

到目前为止,在AngularJS中,嵌套视图在本地是不可能的。在我的上一个应用程序中,我使用了从这里派生的解决方案:

允许我有效地嵌套视图(并完全跳过有限的ng视图)

在这样做之后,出现了另一个(我认为更简单、更好)解决方案:

(向下滚动至“路线检查”)


看看

我建议你看看安格拉鲁团队的项目。这个项目包含一个基于状态的新路由器,它也可以对URL做出反应,但允许更好地处理应用程序状态

这包括使用多个和/或嵌套视图

不久前我有一个类似的问题,所以也许它的答案也会对你有所帮助:


此外,在未来的版本中,您可以预期ui路由器将集成到AngularJS中,因此这很可能是未来路由工作的方式。因此,如果您已经可以拥有今天的下一个解决方案,那么无需再坚持其他解决方案:-)

看看这个:


看起来像您正在寻找的东西

有许多用于嵌套视图和布线的第三方库。这里已经提到了,我还建议看一下这个:

它具有您要求的嵌套视图功能,并且比ui路由器更易于使用。在您的示例中:

index.html

<div app-view-segment="0"></div>
<p>This is the partial for view 1.</p>
<div app-view-segment="1"></div>
<p>This is the partial for view inside view1.</p>  

view1.html

<div app-view-segment="0"></div>
<p>This is the partial for view 1.</p>
<div app-view-segment="1"></div>
<p>This is the partial for view inside view1.</p>  
这是视图1的部分

deep view.html

<div app-view-segment="0"></div>
<p>This is the partial for view 1.</p>
<div app-view-segment="1"></div>
<p>This is the partial for view inside view1.</p>  
这是view1内部视图的局部视图。


如果您不想使用另一个库来解决您的问题(并不是说这有什么问题),您还应该考虑使用指令、ng开关和ng显示

以下给出了该方法的答案:


我真诚地怀疑这是否是惯用的角度(上面提到了可能存在跨浏览器问题),但我的
ng包括将“all”视图与嵌套在类似
all.html的其他视图中的
解决方案:

    <div class="all" ng-include src="'views/foo.html'" ng-controller="FooCtrl">
    </div>

    <div class="all" ng-include src="'views/bar.html'" ng-controller="BarCtrl">
    </div>

    <div class="all" ng-include src="'views/baz.html'" ng-controller="BazCtrl">
    </div>


这对我来说是可行的,但我觉得这违背了框架的基本原则。我个人将在下一次通过时尝试类似Eamon链接的内容。

问题的解释根本不清楚。。。提供代码而不是脚本标记列表当前我认为如果您的目标只是包含外部部分资源,则不支持嵌套ng视图只是将嵌套ng视图替换为ng includeI我已经了解到ng include@Ajay benilist存在一些跨浏览器问题。备选解决方案列表:我自己开始使用该解决方案,但AngularUI路由器()路由是一个更好的解决方案。“您可以期望ui路由器在未来的版本中集成到AngularJS中”。。。AngularjS 1.2.0将其路由拆分为一个单独的可插拔模块,但根据AngularjS在1.2及更高版本()上的介绍,ui路由器不会被合并。听说ui路由器不会被合并,非常失望。随着他们向Angular 2.0()迈进,设计团队正在考虑如何解决本机路由器的弱点,以包括在ui路由器()中工作的内容。