我正在使用该ng-include
指令,该指令将具有基于范围内某些变量的动态模板和控制器。目前我有一张这样的地图。
$scope.map = {
'key1': {
controller: Ctrl1,
templateUrl: 'tmpl1.html'
},
'key12': {
controller: Ctrl2,
templateUrl: 'tmpl1.html'
}
}
...
<div ng-include src="map[key].templateUrl" ng-controller="map[key].controller"></div>
但是,我想丢弃这张地图,而是通过字符串生成 templateUrl 和控制器。以下返回控制器对象,但我需要返回函数。
var ctrlObj = angular.module('moduleName').controller('ControllerName')
编辑 1
澄清:
但是,我想丢弃这张地图,而是通过字符串生成 templateUrl 和控制器
基本上我会在页面上设置“子控制器”,以便它成为配置的约定。具有所有子控制器将共享的信息的主控制器:FooCtrl 将是“主”控制器,而 FooBarCtrl、FooBarSubCtrl 将是子控制器。我的目标是创建一个函数,将“Bar”解析为“FooBarCtrl”,并从中获取适当的控制器函数。