Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:组件中的相互依赖关系_Javascript_Angularjs_Components - Fatal编程技术网

Javascript AngularJS:组件中的相互依赖关系

Javascript AngularJS:组件中的相互依赖关系,javascript,angularjs,components,Javascript,Angularjs,Components,我有两个组件,它们有很多交叉引用。我决定让他们相互依赖: 任务列表组件: angular.module("todo-feature") .component("taskList", { templateUrl: "feature/todo-feature/todo_table.html", controller: "Todo", require: { "parent": "paging" }

我有两个组件,它们有很多交叉引用。我决定让他们相互依赖:

任务列表
组件:

angular.module("todo-feature")
    .component("taskList", {
        templateUrl: "feature/todo-feature/todo_table.html",
        controller: "Todo",
        require: {
            "parent": "paging"
        }
    });
分页
组件

angular.module("paging-module")
    .component('paging', {
        templateUrl: "feature/todo-feature/paging/paging.html",
        controller: "PagingController",
        require: {
            "parent": "taskList"
        }
    });
index.html

<paging></paging>
<task-list></task-list>

我怎样才能修好它?这是一个好的建筑吗?你推荐什么

从设计角度来看,创建这样一个紧密依赖的组件是不可取的。相反,您可以创建公共服务并在它们之间共享数据,也可以在分页和任务列表组件之上创建父组件来管理这两个组件。检查哪个更适合您的场景。

从设计角度来看,不建议创建这样一个紧密依赖的组件。相反,您可以创建公共服务并在它们之间共享数据,也可以在分页和任务列表组件之上创建父组件来管理这两个组件。检查哪个更适合您的场景。

首先,所需的语法应该类似于
parentCtrl:“^taskList”
。这将从其元素到其父元素查找所需的控制器。在api文档中阅读更多关于此的信息

在这两个组件中实现相互引用的需求是不可取的,而且可能不起作用


我建议您可以使用公共服务或父子组件并实现单向绑定

首先,所需的语法应该类似于
parentCtrl:“^taskList”
。这将从其元素到其父元素查找所需的控制器。在api文档中阅读更多关于此的信息

在这两个组件中实现相互引用的需求是不可取的,而且可能不起作用


我建议您可以使用公共服务或父子组件,并实现单向绑定

这两个组件都没有另一个作为父组件。它们是兄弟。两个组件都没有另一个作为父组件。他们是兄弟姐妹。
 Controller 'paging', required by directive 'taskList', can't be found!
 Controller 'taskList', required by directive 'paging', can't be found!