Angularjs 使用角度项匹配代码符号

Angularjs 使用角度项匹配代码符号,angularjs,Angularjs,考虑我下面的代码,我不完全理解,因为我在看别人的代码时做了很多“猴子见猴子做” 请纠正我的思路,我们开始吧 在app.js中,当编译器看到 angular .module('angApp', ['ngRoute', 'MainMenuCtrl']) .config(['$routeProvider', routeProvider]); var myApp = angular.module('MainMenuCtrl', ['ngAnimate']); myApp.controller('

考虑我下面的代码,我不完全理解,因为我在看别人的代码时做了很多“猴子见猴子做”

请纠正我的思路,我们开始吧

  • 在app.js中,当编译器看到

     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来解释它的真正含义

  • 在controllers.js中,当编译器看到

     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菜单
    模块是正确的