gpt4 book ai didi

angularjs - 当迭代对象集合时,有什么方法可以动态分配 ng-controller 吗?

转载 作者:行者123 更新时间:2023-12-02 22:50:12 25 4
gpt4 key购买 nike

使用 Angular 1.6.6 和 ui-bootstrap 2.5.0

如果操作属性值不为空,我将尝试使用 Controller 。

每个选项卡的逻辑都非常不同,因此我不想将所有选项卡放在一个 Controller 中。有什么办法解决这个问题吗?

操作

$scope.actions = [
{
slug: "basicData",
title: "Grunddata",
icon: "fa fa-table",
template: templatePath + "basicData.html",
disabled: false,
controller: null
}, {
slug: "responsible",
title: "Ansvariga",
icon: "fa fa-address-book-o",
template: templatePath + "responsible.html",
disabled: false,
controller: null
}, {
slug: "reportTime",
title: "Rapportera tid",
icon: "fa fa-clock-o",
template: templatePath + "reportTime.html",
disabled: false,
controller: "ActivityTimeReportingController"
}

];

这是我的标签集

<uib-tabset active="activePill" vertical="true" type="pills">
<uib-tab ng-repeat="action in actions" index="$index+1" disable="action.disabled">
<uib-tab-heading>
<span class='{{action.icon}}'></span>&nbsp;{{action.title}}
</uib-tab-heading>
<div ng-include="action.template" ng-if="!action.controller" ng-controller="action.controller"></div>
<div ng-include="action.template" ng-if="action.controller"></div>
</uib-tab>
</uib-tabset>

我收到以下错误

The controller with the name 'action.controller' is not registered.

大括号没有任何区别。

我也尝试过使用函数:

    $scope.getController = function (controllerName) {
return controllerName.ToString();
};

在我的选项卡集中:

<div ng-include="action.template" ng-if="!action.controller" ng-controller="getController(action.controller)"></div>

同样的错误消息

The controller with the name 'getController(action.controller' is not registered.

在迭代对象集合时,有什么方法可以动态分配 ng-controller 吗?

最佳答案

创建动态指令,然后为每个指令指定一个 Controller ,而不是使用 ng-include 滚动您自己的动态指令并绑定(bind)模板 url

http://www.codelord.net/2015/05/19/angularjs-dynamically-loading-directives/

如果你没有太多类型的操作..那么使用 ng-if 或 ng-switch 并使用 ng-controller 或使用 Controller 的指令为每个操作创建一行。在我看来,您尝试实现的动态代码不是正确的方法。

关于angularjs - 当迭代对象集合时,有什么方法可以动态分配 ng-controller 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47794064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com