控制器文件中的这些控制器参数是什么?

时间:2017-11-16 08:25:23

标签: angularjs

我转过头来理解棱角分明。我无法理解这一点。就我所见,在线指南只是基本的。请向我解释

app.register.controller('viewTests', ['$scope', '$modal', '$http', '$route', 'pinesNotifications', '$location', '$route', '$routeParams', '$timeout', '$modal', function($scope, $modal, $http, $route, pinesNotifications, $location,  $routeParams, $timeout){

1)他们如何工作和互动?

2)参数顺序是否重要?

由于

2 个答案:

答案 0 :(得分:1)

您正在使用的约定是可以与angular一起使用的约定之一。在该特定约定中,您将注入依赖项以及为特定控制器使用它们,并且依赖项的顺序对此很重要,否则您对依赖项的使用将无法按预期工作。

app.register.controller('viewTests',function($scope, $modal,$http,$route,){

})

在上述惯例中,顺序无关紧要。我相信我已经回答了你的第二个问题。

现在,对于第一个问题。工作逻辑类似于你在javascript中使用的普通要求,但是在angularjs中你有一个主模块,你可以在其中注入所有的依赖项,并在你的控制器上访问它们。 angularjs中存在某些依赖项,例如$scope$http。但是,如果您需要任何外部插件,则将其插入主模块中。例如:要在控制器中使用$state,您需要注入'ui.router',如下所示。

var app = angular.module('yourAppName', ['ui.router']);

app.config(function($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.otherwise('/home');

    $stateProvider

        // HOME STATES AND NESTED VIEWS ========================================
        .state('home', {
            url: '/home',
            templateUrl: 'partial-home.html'
        })

        // ABOUT PAGE AND MULTIPLE NAMED VIEWS =================================
        .state('about', {
            // we'll get to this in a bit       
        });

});
app.register.controller('viewTests',function($scope, $state){

})

同样,您也会注入必要的依赖项,并且只在控制器中使用必要的依赖项。

答案 1 :(得分:0)

1)这些是注入,例如您的范围或http操作的http服务。你会发现其中大部分都有很好的记录,因为它们是角js的一部分。例如:$ http https://docs.angularjs.org/api/ng/service/ $ http

2)数组内部的顺序并不重要(我假设您忘记了结束括号),但控制器的参数顺序很重要。