【发布时间】:2015-06-12 12:47:28
【问题描述】:
我试图访问一个工厂内的嵌套函数,我将它注入到 AngularJS 中的控制器中,但只是得到一个“函数未定义”错误。我认为控制器甚至无法访问内部功能。为什么? 这甚至是合法的 JavaScript 吗?
服务
(function () {
'use strict';
angular
.module('myModule', [])
.factory('myFactory', myFactory);
function myFactory() {
var outerVar = 0;
function foobar() {
var innerVar;
function foo() {
innerVar = outerVar++;
console.log(innerVar);
}
function bar() {
innerVar = outerVar--;
console.log(innerVar);
}
return {
foo: foo,
bar: bar
}
}
return {
foobar: foobar
}
}
}());
控制器
(function () {
'use strict';
angular
.module('myModule')
.controller('myController', myController);
function myController(myFactory) {
myFactory.foobar.foo();
}
}());
【问题讨论】:
标签: javascript angularjs nested closures angular-services