8

been told var, minification desteklemek için app.controller sözdizimini kullanmalıyım.

örneği (öğretici) bir örnek Yeniden Yazma ve ben işe almak mümkün olmadığını söyledi:

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'; 
}]); 
/* 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']; 
<body ng-app="myApp" ng-controller="PhoneListCtrl"> 
    {{phones | json}} 
</body> <!-- Outputs just an echo of the above line, rather than content --> 

Ne değiştirmek gerekir?

+0

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; }); }]); 
- söyler değişmeden doğru angularjs iki parametrenin isimleri. – flaschenpost

+0

Benim için çalışıyor. Elinizde olan hata nedir? – DanEEStar

cevap

13

Denetleyicimin düzeni yaptığı yoludur.

Bildiğim kadarıyla nedeniyle hat $ inject arasında bile en aza indirmek için ikinci sürümünü kullanabilirsiniz bildiği gibi
+0

Görünümde nasıl referans alırsınız? – user2283066

+0

{{phones}}, denetleyicinin verileri $ scope.phones içinde verdiğinden, doğrudur. –

+0

2. formatın çalıştığını söylediniz, bu yüzden modülleri nasıl yerleştirmiş olmanız gerekir. –