Tôi đã chạy vào vấn đề với ng-điều khiển và 'quyết tâm' chức năng:Angularjs ng-điều khiển với quyết tâm
Tôi đã một bộ điều khiển đòi hỏi một số phụ thuộc được giải quyết trước khi chạy, nó hoạt động tốt khi tôi định nghĩa nó qua ng-tuyến đường:
điều khiển mã trông như thế này:
angular.module('myApp')
.controller('MyController', ['$scope', 'data', function ($scope, data) {
$scope.data = data;
}
]
);
Routing:
...
.when('/someUrl', {
templateUrl : 'some.html',
controller : 'MyController',
resolve : {
data: ['Service', function (Service) {
return Service.getData();
}]
}
})
...
khi tôi truy cập/someUrl, mọi thứ đều hoạt động.
Nhưng tôi cần phải sử dụng điều khiển này theo cách khác (tôi cần cả hai cách ở những nơi khác nhau):
<div ng-controller="MyController">*some html here*</div>
Và, tất nhiên, nó không thành công, bởi vì sự phụ thuộc 'dữ liệu' đã không được giải quyết. Có cách nào để tiêm phụ thuộc vào bộ điều khiển khi tôi sử dụng 'ng-điều khiển' hoặc tôi nên bỏ và tải dữ liệu bên trong bộ điều khiển?
Tôi có thể viết cho bạn một ví dụ sau. Nhưng trong trường hợp của bạn, có Dịch vụ trả về một lời hứa chứ không phải là dữ liệu thực tế. Khi nó đã được giải quyết, hãy truy xuất dữ liệu trong MyController của bạn, điều đó có nghĩa là Dịch vụ của bạn phải có một phương thức hoặc thuộc tính trả về dữ liệu được lưu trong bộ nhớ cache. Tôi hy vọng rằng sẽ giúp. – Lance
Tôi đã đưa ra điều này cho cùng một vấn đề http://jsfiddle.net/cnst530p/6/ –