Angularjs 跨多个控制器的角度服务,无重复功能

Angularjs 跨多个控制器的角度服务,无重复功能,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我想知道你是否能帮我。基本上,我有一个服务,它存储一个名为name的值,该值将跨多个指令使用。我的问题是,它在大约7个指令中使用,因此在7个相应的控制器中,我有一个名为getName的函数,它调用myService.getName返回名称,以便在视图中使用。这对我来说似乎有很多重复的代码,在7个不同的控制器中有7个相同的函数(因为我不应该通过html直接调用服务)。我想知道最好的做法是什么,因为我没有重复的功能。如有任何建议或指导,将不胜感激 谢谢。为整个应用程序定义设置的一种方法是将它们存储在

我想知道你是否能帮我。基本上,我有一个服务,它存储一个名为name的值,该值将跨多个指令使用。我的问题是,它在大约7个指令中使用,因此在7个相应的控制器中,我有一个名为getName的函数,它调用myService.getName返回名称,以便在视图中使用。这对我来说似乎有很多重复的代码,在7个不同的控制器中有7个相同的函数(因为我不应该通过html直接调用服务)。我想知道最好的做法是什么,因为我没有重复的功能。如有任何建议或指导,将不胜感激


谢谢。

为整个应用程序定义设置的一种方法是将它们存储在
$rootScope

在其中一个控制器内,您必须声明这些新设置:

$rootScope.applicationSettings = {};
$rootScope.applicationSettings.importantName = "some name";
在视图中,只要没有定义了对象“applicationSettings”的范围,以下标记就可以工作:

{{applicationSettings.importantName}}

在每个控制器中,只要您注入$rootScope,就可以获取或设置
$rootScope.applicationSettings.importantName

我感谢您的输入,我并没有说这是错误的,但我只是希望有一个比将其放在routescope上更优雅的解决方案,如果可能的话,我尽量避免在那里添加内容。再次感谢您的输入:)我在这里给出了我的答案,尽管它不适合您。您可以通过自定义$filter实现这一点,但我没有任何代码可以帮助您