fou*_*rth 3 javascript angularjs
我是这个领域的新人.当我读到这样一些代码
https://plnkr.co/edit/YeahrG28bT2izX8gMKor?p=preview
我发现,如果我不把你'myApp.dashboard','myApp.value'在angular.module('myApp', ['myApp.dashboard','myApp.value']);这是行不通的.
如果我这样写:
(function() {
angular.module('myApp', []);
})();
(function() {
angular.module('myApp.dashboard', ['myApp.value']);
})();
(function() {
angular.module('myApp.value', []);
})();
Run Code Online (Sandbox Code Playgroud)
它也不起作用.
你能告诉我这里的点是什么意思,为什么angular.module('myApp.dashboard', ['myApp.value']);不起作用?
对不起,这段代码真的很乱,我没有做太多关于它,只是为了测试.
(function() {
angular.module('myApp', ['myApp.dashboard','myApp.value']);
})();
(function() {
angular.module('myApp.dashboard', []);
})();
(function() {
angular.module('myApp.value', []);
})();
(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;
}
};
});
})();
(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");
}
})();
Run Code Online (Sandbox Code Playgroud)
补充:我不应该问第二个问题,我在其他地方犯了一个错误,抱歉.
在['myApp.dashboard','myApp.value']讲述的依赖关系。这意味着myApp需要使用这些依赖项来工作。
至于点,这只是一个很好的命名约定。您也可以不带点使用。该名称myApp.dashboard有助于表明该dashboard模块是该模块的一部分或子myApp模块。但从技术上讲,点不是必需的。您也可以将其命名为dashboardonly。依赖关系在[ ]数组中明确表达,而不是在名称本身中。