(function(){
angular.module('myApp',[])
})();
(function(){
angular.module('myApp.dashboard',[])
})();
(function(){
angular.module('myApp.value',[])
})();
(function(){
'use strict';
angular.module('myApp.value').service('whichToShow',function(){
alert("running2");
var logged=true;
return {
getVar: function(){
return logged;
},
setVar: function(value){
logged=value;
}
};
});
})();
(function(){
'use strict';
angular.module('myApp.dashboard').controller('mainControl',mainControl);
mainControl.$inject = ['whichToShow'];
alert("running1");
function mainControl(whichToShow){
this.logged=whichToShow.getVar();
alert(this.logged);
};
})();
我正在编写一个模仿另一个已完成应用的应用,但我无法使用我新定义的服务。我根据他的代码https://github.com/PatrickO10/meetUp/blob/master/js/all.js写作 你能告诉我应该修改哪一部分吗?你最好更改我的代码,这样我就可以知道为什么我的错了。谢谢!
你可以在这里看到我的所有代码: https://plnkr.co/edit/YeahrG28bT2izX8gMKor?p=preview 我没有做太多关于此事,我现在想要的是让一些按钮看不见
答案 0 :(得分:1)
您的 whichToShow 在 myApp.value 模块中定义,但在 myApp.dashboard 模块中使用。在声明 myApp.dashboard 模块时,您只需要添加对 myApp.value 模块的引用。
angular.module('myApp.dashboard',['myApp.value'])
答案 1 :(得分:0)
你写的是factory
。
要定义服务,您必须获取实例并使用方法对其进行丰富。
因此,您可以将service
更改为factory
,如下所示:
(function(){
'use strict';
angular.module('myApp.value').factory('whichToShow',function(){
alert("running2");
var logged=true;
return {
getVar: function(){
return logged;
},
setVar: function(value){
logged=value;
}
};
});
})();
或者,像这样定义service
:
(function(){
'use strict';
angular.module('myApp.value').service('whichToShow',function(){
var logged=true;
this.getVar = function(){
return logged;
};
this.setVar =function(value){
logged=value;
};
});
})();
修改1:
您的plunker代码不正确。 请检查此更正:https://plnkr.co/edit/2HAwy7MV4dK0yUuBcCfG?p=preview
您加入all.js
时指的是js/all.js
,而不只是all.js
。
在您的mainControl
中,您的注射不正确。