gpt4 book ai didi

javascript - 解耦 Angular 模块

转载 作者:行者123 更新时间:2023-12-03 09:11:33 26 4
gpt4 key购买 nike

我有一个使用 AngularJS 制作的搜索 Web 应用程序,其中包含两个 Angular 模块:search-keyword-input 模块和 search-action 模块。

第一个search-keyword-input模块具有建议功能、表单验证功能等。 search-action 模块的功能是请求数据并在表格中显示可排序的结果。因此每个模块都有自己的 Controller 和指令。

问题是:我模块化的原因是,我想要可以重用和解耦的模块。但在此应用中,search-keyword-input 模块中的关键字模型值必须传递到搜索操作模块中(search-action 模块必须知道什么)用于执行搜索的关键字)。那么如何在模块之间传递值呢?他们如何在不耦合的情况下进行通信?

我找到了一种方法,例如添加父 Controller 和全局 $scope 值:

<div ng-controller="globalController">
<div ng-controller="keywordController"></div>
<div ng-controller="searchController"></div>
</div>

因此,search-keyword 模块可以在 globalController$scopesearch-action 上设置关键字值 Controller 还可以从 globalController 获取该关键字值。但我认为这使得模块化变得毫无意义,因为它们是耦合在一起的。我还能做什么?

最佳答案

最好的选择是创建一个可以由两个 Controller 共享的自定义服务,也可以单独使用,而不是污染父范围。

关于javascript - 解耦 Angular 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062121/

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