Angularjs 以编程方式加载视图/控制器

Angularjs 以编程方式加载视图/控制器,angularjs,Angularjs,如何在运行时加载视图/控制器 比如说,我有一个这样的内容列表 ctrl.pages = [{ controller:"myController", templateUrl : "/app/view.html" },{ controller:"myController2", templateUrl : "/app/view2.html" }] 然后如何加载这些视图和控制器?这仅仅是使用“ng include”的一种情况,还是有更好的方法?像Angular Material这样的库

如何在运行时加载视图/控制器

比如说,我有一个这样的内容列表

ctrl.pages = [{
  controller:"myController",
  templateUrl : "/app/view.html"
},{
  controller:"myController2",
  templateUrl : "/app/view2.html"
}]
然后如何加载这些视图和控制器?这仅仅是使用“ng include”的一种情况,还是有更好的方法?像Angular Material这样的库似乎不会这样做

<ng-include ng-repeat="page in ctrl.pages" 
            ng-controller="{{page.controller}}"
            src="{{page.templateUrl }}"></ng-include>

这似乎是模板扩展指令的一种情况,请参见Angular docs。或者,如果这些页面代表应用程序的不同“状态”,用户可以通过URL直接访问某个地方,那么它们将是一个很好的候选页面。

这似乎是模板扩展指令的一种情况,请参阅Angular docs。或者,如果这些页面代表应用程序的不同“状态”,用户可以通过URL直接访问某个地方,那么它们将是一个很好的候选页面。

请查看此页面

我添加了一个可用视图的
select
,并根据该选择更新
ng include
src

我故意避免初始化
控制器
,您可以包括它们

看看这个

我添加了一个可用视图的
select
,并根据该选择更新
ng include
src


我故意避免初始化
控制器
,您可以包括它们

你没有听说过angular ui路由吗?是的,我正在使用它,但是如果我不想在这个特定的事情上使用它呢?你没有听说过angular ui路由吗?是的,我正在使用它,但是如果我不想在这个特定的事情上使用它呢?