gpt4 book ai didi

javascript - 我如何在 AngularJS 上从 Controller 调用服务上的函数

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

我正在尝试从 Controller 调用服务上的函数,以便更新我网站上的主题,具体取决于我所在网站的提供商部分。

我的服务,

MyApp.service('ThemeService', function() {

var ThemeProvider = 1;
var ThemeArea = "NotSet";

this.SetVariables = function() {
switch (ThemeProvider) {
case 1:
default:
ThemeArea = "Themes/Default";
break;

case 2:
ThemeArea = "Themes/Provider2";
break;
}

return ThemeProvider;
};

return {
ThemeProvider: ThemeProvider,
getThemeArea: ThemeArea,
};
});

我的 Controller

$scope.loadData = function (input) {
ThemeService.ThemeProvider = 2;
ThemeService.SetVariables();
};

我的想法是,在 Controller 内部,可以在设置“ThemeProvider”后调用函数“SetVariables”,以更改“ThemeArea”,但我无法弄清楚如何从 Controller 调用函数“SetVariables” .

当我尝试时,我收到错误

TypeError: Object doesn't support property or method 'SetVariables'

最佳答案

您没有返回SetVariables,请参阅服务定义底部有一个返回语句,它应该包含您想要访问的所有内容。

return {
ThemeProvider: ThemeProvider,
getThemeArea: ThemeArea,
SetVariables: SetVariables
};

关于javascript - 我如何在 AngularJS 上从 Controller 调用服务上的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46467299/

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