Angularjs 在控制器之间共享方法

2024-03-05

我有一个应用程序,它在一个页面(主页)上显示新闻提要,在另一个页面上仅显示用户的提要(用户个人资料页面)。

两个页面的外观和行为方式相同。内容的变化是由于调用了不同的URL。

在AngularJS中如何解决这个问题?

我有一个家庭控制器,它具有用于显示主页的所有方法/逻辑。

现在我需要再有一个控制器来调用另一个 URL 并执行与家庭控制器相同的操作。

我正在考虑诸如父控制器和两个控制器之类的东西。但看起来在 AngularJS 中控制器继承是由 dom 结构决定的。就我而言,它们是两个不同的页面。所以我无法创建 dom 风格的继承。

我对如何在不重复两个控制器中的代码的情况下解决这个问题感到困惑。

如果需要,我很乐意为这个问题添加更多细节。我浏览了一些谷歌结果,但我不知道如何做到这一点。


服务(而不是控制器)应该拥有域模型,并提供模型API https://stackoverflow.com/questions/16607874/where-should-model-state-be-stored-in-angular-js#comment23896198_16607874供应用程序的其余部分(通常是控制器)使用。

我建议至少有两项服务,一项用于您的新闻源,一项用于您的个人资料,也许还有一项用于任何共享功能(这些功能可以作为参数传递一个集合或单个帖子)。将适当的服务注入每个控制器。

“外观”应该位于使用 ng-view 或 ng-include 引入的 HTML 模板中。模板的 ng-repeat 将引用一个 $scope 属性的集合,该属性是对存储在您的服务之一中的数据的引用。

有关新闻源服务的示例以及控制器如何获取对数据的引用,请参阅服务是否应该暴露其异步性? https://stackoverflow.com/questions/17416599/should-services-expose-their-asynchronicity

我不担心重复使用 $http 服务所需的代码并在每个服务中返回承诺。有一天,您的个人资料页面的外观/行为可能会开始与您的新闻源页面不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angularjs 在控制器之间共享方法 的相关文章

  • AngularJS - 将文本格式从 JSON 返回到标题大小写

    我有一个从 JSON 文件检索数据的服务 数据内有些数据全部为大写 例如 scope FootballClubs CompanyName MANCHESTER UNITED LIVERPOOL FOOTBALL CLUB CHELSEA W
  • 通过纯 JavaScript 获取 div 的第 n 个子元素

    我有一个名为 myDiv 的 div 元素 我怎样才能得到 myDiv 的第n个孩子DOM https en wikipedia org wiki Document Object Model操纵 Markup function reveal
  • Chrome 扩展程序可以相互通信吗?

    我正在编写一个Chrome扩展程序 并且想要实现一个接口或api 以便我将来制作的其他扩展程序可以使用它 最终的效果可能如下 分机 B 呼叫extensionA someMethod someParameters 并向分机A发送一些数据 分
  • 如何在 google.maps.event.addListener 中使用它

    以下示例有效 但是当我尝试传递参数并使用this在该功能不起作用 Working google maps event addListener markers i click showInfoWindow function showInfoW
  • 调用类实例方法 onclick javascript

    我有一个 javascript 文件 其中包含包含方法函数的类 我想知道如何从 onClick 事件调用类实例方法 function MyClass this instanceData Display Me this DisplayData
  • jQuery UI Datepicker 奇怪的行为

    我在使用 jqueryUI 使用简单的日期选择器时遇到了一个奇怪的问题 我只想显示两个月的日历 包括上个月和当前月份 我使用了这段代码 function picker datepicker numberOfMonths 2 showCurr
  • 在自动完成上添加 jQuery 延迟

    我正在尝试为应用程序创建 jQuery 自动完成 search input on keyup function search this val autocomplete div autocomplete get ajax search se
  • “require(...)”是常见的 JavaScript 模式还是库函数?

    我通常发现这是 node js 脚本 模块以及 phantomJS casperJS 等中的第一行 我很好奇 这是否是服务器端 javascript SSJS 的常见模式 类似于 include在 C C 中或import在 Java 中
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • Rangy:插入符号下的单词(再次)

    我正在尝试创建一个预输入代码以添加到 wysihtml5 富文本编辑器 基本上 我需要能够插入人员 标签引用 例如 Twitter Github Facebook 我发现一些人试图实现同样的事情的代码 http jsfiddle net A
  • D3 向对象添加超链接?

    我正在尝试制作 D3 图 它将代表我网站的菜单 我尝试按照此处的其他指南添加超链接 但它们都不起作用 每个对象都会有一个不同的 URL 指向 主页 关于 联系方式等 如果添加超链接 我可以拖动对象吗 这意味着如果我按住单击 如果我单击该对象
  • 引用自身的 Javascript 对象...有问题吗?

    由于 Javascript 允许通过引用分配复合值 因此如果 Javascript 对象引用自身 它将创建无限的引用集 如控制台中所示 这看起来像是某种无限循环 但 Chrome 似乎没有问题 这样做是否存在任何内存问题或其他风险 就记忆力
  • Angularjs : $locationProvider.hashPrefix("!") ;

    我想将网址显示为 www test com 因为我正在使用 locationProvider hashPrefix 但它显示网址为 www test com 我想 哈希之前而不是哈希之后 Thanks var app angular mod
  • 在 React Web 应用程序中使用 createjs-soundjs

    我想用https www npmjs com package createjs soundjs https www npmjs com package createjs soundjs在 React Web 应用程序上播放声音 我正常安装了
  • 标记(Markdown)+ Mermaid(流程图和图表)

    努力去争取 美人鱼 https github com knsv mermaid https github com knsv mermaid跟 共事 标记 https github com chjj marked https github c
  • Vue-Router 抽象父路由

    我正在尝试将当前网站迁移到 vuejs 站点地图必须是 login signup password reset browse search dozens of other routes 由于其中一些路线共享大量 fx 因此我将它们设为父路线
  • 如何使用 javascript 更改文件扩展名

    有谁知道在 Javascript 中更改文件扩展名的简单方法吗 例如 我有一个带有 first docx 的变量 但我需要将其更改为 first html 这将改变字符串包含文件名 let file first docx file file
  • 如何获取符号名称(文字)?

    以下情况 var myVehicle brand Tesla var isMoving Symbol var currentStatus Symbol myVehicle isMoving true myVehicle currentSta
  • Jquery 以编程方式更改

    文本

    编辑 解决方案是将其添加到个人资料页面而不是性别页面 profile live pageinit function event p pTest text localStorage getItem gender 我在列表视图中有一个带有一些文
  • 区分 NaN 输入和输入类型为“number”的空输入

    我想使用 type number 的表单输入 并且只允许输入数字

随机推荐