我的页面上有7个不同的控制器,我想拥有一个可以根据Switch语句切换到七个控制器之一的自定义控制器。对于ex: -
//Custom Controller
app.controller('custom_controller', function($http, $scope, $compile) {
$scope.change = function() {
switch ($scope.data['model']) {
case 'Telecom':
$scope.controller = 'Telecom_Controller';
break;
case 'Netflix':
$scope.controller = 'Netflix_Controller';
break;
case 'Bank':
$scope.controller = 'Bank_Controller';
break;
case 'Beauty':
$scope.controller = 'Beauty_Controller';
break;
case 'Mutual Funds':
$scope.controller = 'MF_Controller';
break;
case 'Motor Insurance':
$scope.controller = 'MI_Controller';
break;
case 'Job Hunt':
$scope.controller = 'Job_Controller';
break;
default:
alert("None Selected");
break;
}
};
});
然后在" html"中,我想相应地切换到该控制器: -
<div ng-controller={{ controller }}>
</div>
预先感谢:(
这似乎是一个变化的不良设计,从您的描述中,没有迹象表明您需要做这样的事情。
您可以做什么:
- 创建组件并根据您的条件显示/隐藏正确的组件(首选选项(
- 使用UI-Router并根据您的条件显示/隐藏儿童视图
- 使用子控制器并根据您的条件显示正确的控制器显示/隐藏元素
这是组件结构的示例。
查看
<telecom-component ng-if="data.model === 'Telecom'"></telecom-component>
<netflix-component ng-if="data.model === 'Netflix'"></netflix-component>
<!-- add other components as necessary -->