Angularjs 使用角度项匹配代码符号
考虑我下面的代码,我不完全理解,因为我在看别人的代码时做了很多“猴子见猴子做” 请纠正我的思路,我们开始吧Angularjs 使用角度项匹配代码符号,angularjs,Angularjs,考虑我下面的代码,我不完全理解,因为我在看别人的代码时做了很多“猴子见猴子做” 请纠正我的思路,我们开始吧 在app.js中,当编译器看到 angular .module('angApp', ['ngRoute', 'MainMenuCtrl']) .config(['$routeProvider', routeProvider]); var myApp = angular.module('MainMenuCtrl', ['ngAnimate']); myApp.controller('
angular
.module('angApp', ['ngRoute', 'MainMenuCtrl'])
.config(['$routeProvider', routeProvider]);
var myApp = angular.module('MainMenuCtrl', ['ngAnimate']);
myApp.controller('MainMenuCtrl', ['$scope', '$http', MainMenuCtrl]);
它定义了一个模块,由于其标识符与html标记ng app属性中声明的相同,因此这是“主”模块。如果这是正确的,我可以把它叫做mainMod而不是angApp来解释它的真正含义 angular
.module('angApp', ['ngRoute', 'MainMenuCtrl'])
.config(['$routeProvider', routeProvider]);
var myApp = angular.module('MainMenuCtrl', ['ngAnimate']);
myApp.controller('MainMenuCtrl', ['$scope', '$http', MainMenuCtrl]);
第一行定义了一个名为MainMenuCtrl的新模块(之前在步骤1中声明为angApp的依赖项)。如果这是正确的,我可以用mainMenuMod代替mainmenutrl
第二行注入一个名为MainMenuCtrl的控制器,该名称在这一行中提到了两次,第一次提到的是对第一行中刚刚定义的模块的引用,第二次提到的是构造函数的名称。如果这是正确的,我可以将第一个MainMenuCtrl更改为MainMenuMod。因此,新名称更好地描述了语义
angular
.module('mainMod', ['ngRoute', 'MainMenuMod'])
.config(['$routeProvider', routeProvider]);
var whatever = angular.module('MainMenuMod', ['ngAnimate']);
whatever.controller('MainMenuMod', ['$scope', '$http', MainMenuCtrl]);
/--app.js-------------------
(功能(){
"严格使用",;
有棱角的
.module('angApp',['ngRoute','MainMenuCtrl']))
.config(['$routeProvider',routeProvider]);
})();
函数routeProvider($routeProvider){
$routeProvider.when(“/menuItems”{
url:“/menuItems”,
templateUrl:'views/mainMenu.html',
控制器:“MainMenuCtrl”
})。当(“/第一页”{
url:“/第一页”,
templateUrl:'views/first_page.html',
控制器:“FirstPageController”
})。当(“/第二页”{
url:“/第二页”,
templateUrl:'views/second_page.html',
控制器:“SecondPageController”
})
。否则({//主页
重定向到:“/menuItems”
});
}
//---controllers.js-------------------
var myApp=angular.module('MainMenuCtrl',['ngAnimate']);
控制器('MainMenuCtrl',['$scope','$http',MainMenuCtrl]);
函数MainMenuCtrl($scope,$http){
$http.get('js/mainMenu.json')。然后(
功能(响应){
$scope.menuItems=response.data;
},
函数(错误){
警报(“http错误”);
}
)
/--index.html--------------
文件
模块和其他所有模块的名称不会相互干扰,因此使用MainMenuCtrl
控制器和MainMenuCtrl
模块(模块通常遵循pascalCase命名约定,用点分隔名称空间)是正确且明确的。在模块名称后面加上'Mod'或'module'后缀是多余的
从语义上讲,如果有可能对main菜单
模块进行单独测试,则加载main菜单
模块是正确的