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路由吗?是的,我正在使用它,但是如果我不想在这个特定的事情上使用它呢?