Javascript 无法使用Angular.js从工厂方法返回值
我需要一些帮助。我正在尝试从actory方法返回值,但由于出现了一些预期错误而无法返回。我在下面解释我的代码Javascript 无法使用Angular.js从工厂方法返回值,javascript,angularjs,Javascript,Angularjs,我需要一些帮助。我正在尝试从actory方法返回值,但由于出现了一些预期错误而无法返回。我在下面解释我的代码 compliance.factory('showNabh',function($window,$timeout){ var defaultView=function(){ return true; } var auditView=function(){ return false; } }) compliance.contr
compliance.factory('showNabh',function($window,$timeout){
var defaultView=function(){
return true;
}
var auditView=function(){
return false;
}
})
compliance.controller('NABHParentController',function($scope,$http,$state,$window,$location,$filter,showNabh){
$scope.showNabh=showNabh.defaultView();
})
这里我得到了下面的错误
Error: [$injector:undef] http://errors.angularjs.org/1.4.6/$injector/undef?p0=showNabh
at angularjs.js:6
at Object.$get (angularjs.js:37)
at Object.e [as invoke] (angularjs.js:39)
at angularjs.js:41
at d (angularjs.js:38)
at e (angularjs.js:39)
at Object.instantiate (angularjs.js:39)
at angularjs.js:80
at q (angularuirouter.js:7)
at A (angularuirouter.js:7)
在这里,我需要在调用defaultView函数时得到真值,如果调用auditView函数,则得到假值。实际上,我需要$scope.showNabh变量global,以便在任何控制器中为该变量分配任何值。请帮助。您的工厂中没有return语句,因此它隐式返回undefined。试试这个:
compliance.factory('showNabh',function($window,$timeout){
var defaultView=function(){
return true;
}
var auditView=function(){
return false;
}
return {
defaultView: defaultView,
auditView: auditView
};
})
是,但仍有错误。工厂应返回函数的对象