【发布时间】:2017-04-08 15:45:36
【问题描述】:
您好,我是 angularjs 的新手,我正在尝试向控制器注入一些工厂,但我遇到了困难。我的工厂工作正常。我可以在工厂设置数据。
下面是我注入工厂的代码。
function () {
angular.module('RoslpApp').controller('RegistrationOTPVerification', ['$scope', '$http', '$translatePartialLoader', '$translate', '$state', '$stateParams', 'SomeFactory',
function ($scope, $http, $translatePartialLoader, $translate, $state, $stateParams, CONSTANTS, SomeFactory) {
var OTP = $stateParams.pageList.OTP;
$scope.EnterOTP = "Please enter this OTP to verify the user " + OTP;
//RegistrationOTPVerification.$inject = ['SomeFactory'];
//Facing issues in above line
alert(1);
function RegistrationOTPVerification(SomeFactory) {
var vm = this;
vm.someVariable = SomeFactory.getData();
console.log(vm.someVariable); // logs your data
alert(vm.someVariable);
}
});
这是我的工厂代码。
(function () {
'use strict';
angular
.module('RoslpApp')
.factory('SomeFactory', SomeFactory);
SomeFactory.$inject = [];
function SomeFactory() {
var someData;
var factory = {
setData: setData,
getData: getData
};
function setData(data) {
someData = data;
}
function getData() {
return someData;
}
return factory;
}
})();
我用SomeFactory.setData("123")在其他控制器中设置数据
我想注入someFactory如下:
RegistrationOTPVerification.$inject = ['SomeFactory'];
但是每当我写这个,我得到错误RegistrationOTPVerification is undefined。如果我评论该行一切正常,但我想从工厂获取一些数据。
我的工厂名称是SomeFactory,我想注入上面的控制器。任何帮助将不胜感激。
【问题讨论】:
-
也分享你的工厂代码并说明到底出了什么问题
标签: angularjs dependency-injection