首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用AngularJS显式`app.controller`语法注入`$http`?

无法使用AngularJS显式`app.controller`语法注入`$http`?
EN

Stack Overflow用户
提问于 2013-05-21 15:22:20
回答 1查看 13.5K关注 0票数 8

我有一个been told,为了支持缩小,我应该使用app.controller语法。

重写示例(教程)示例,我发现我不能让它工作:

代码语言:javascript
复制
use 'strict';

/* Minifiable solution; which doesn't work */
var app = angular.module('myApp', ['ngGrid']);

// phones.json: http://angular.github.io/angular-phonecat/step-5/app/phones/phones.json

app.controller('PhoneListCtrl', ['$scope', '$http', function ($scope, $http) {
    $http.get('phones/phones.json').success(function (data) {
        $scope.phones = data;
    });

    $scope.orderProp = 'age';
}]);
代码语言:javascript
复制
/* Alternate [textbook] solution; which works */
function PhoneListCtrl($scope, $http) {

    $http.get('phones/phones.json').success(function (data) {
        $scope.phones = data;
    });

    $scope.orderProp = 'age';
}

PhoneListCtrl.$inject = ['$scope', '$http'];
代码语言:javascript
复制
<body ng-app="myApp" ng-controller="PhoneListCtrl">
    {{phones | json}}
</body> <!-- Outputs just an echo of the above line, rather than content -->

我需要改变什么?

EN

回答 1

Stack Overflow用户

发布于 2013-05-21 19:38:15

我做控制器布局的方式是:

代码语言:javascript
复制
var app = angular.module('myApp', ['controllers', 'otherDependencies']);
var controllers = angular.module('controllers', []);
controllers.controller('PhoneListCtrl', ['$scope', '$http', function ($scope, $http) {
  // your code
  $http.get('phones/phones.json').success(function (data) {
    $scope.phones = data;
  });
}]);
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16664325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档