javascript - Controller 中未定义的服务

标签 javascript angularjs service

我有一个服务和一个 Controller ,声明如下:

angular

.module('purchaseApp')

.service('sharedProperties', function() {
    var stringValue = 'test string value';

    return {
        getString: function() {
            return stringValue;
        }
    }
})

.controller('purchaseOrderCtrl', ['$scope', '$rootScope', '$location', '$http', function ($scope, $rootScope, $location, $http, sharedProperties) {
   console.log(sharedProperties.getString());
});

当我尝试访问 Controller 中的服务时,它返回“未定义”,但我不知道为什么......你能帮助我吗?

谢谢。

最佳答案

您的 Controller 缺少sharedProperties。你需要注入(inject)它。将其添加到 $http 之后。

.controller('purchaseOrderCtrl', ['$scope', '$rootScope', '$location',  '$http', 'sharedProperties', function ($scope, $rootScope, $location, $http, sharedProperties) {
    console.log(sharedProperties.getString());
});

关于javascript - Controller 中未定义的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30212722/

相关文章:

javascript - 使用 ReactJS 将 formData 发送到 Express API 并获取响应的 JSON

javascript - AngularJS 和 Protractor - 如何检查元素是否显示?

javascript - AngularJs 在完成 2 个不同的 https 请求时调用函数

c# - 从 C# 代码后面传递函数参数

javascript - 用外行术语解释 .call() 。帮助理解它

Linux CentOs 重启服务

java - 如果服务正在运行,如何在晚上 8 点停止该服务?

android - 如何在Service和Activity之间传递复杂的数据?

javascript - 在 Meteor.startup 的客户端案例中等待多个订阅

javascript - 加载html后如何加载js文件