Tôi có một bộ điều khiển có chứa một chức năng lấy một số dữ liệu từ máy chủ. Tôi lưu trữ dữ liệu đó trong một biến dịch vụ. Dịch vụ này sau đó được tiêm vào một chỉ thị. Tôi muốn chỉ thị được tự động cập nhật, bất cứ khi nào chức năng này được gọi và dữ liệu được gia hạn.Liên kết biến dịch vụ với chỉ thị?
điều khiển của tôi:
angular
.module('myApp')
.controller('myCtrl', ['$scope', 'SomeService', function($scope, SomeService) {
$scope.update = function() {
SomeService.myValue = 100;
}
}]);
Chỉ thị:
angular.module('myApp')
.directive('myDirective', ['SomeService', function(SomeService) {
return {
templateUrl : 'views/myDirective.html',
restrict : 'E',
scope : false,
controller : function($scope) {
this.myValue = SomeService.myValue;
}
};
}]);
Mẫu:
<div>
{{ myValue }}
</div>
Chức năng cập nhật được gọi khi một nút được nhấp và nó cập nhật myValue đến một giá trị mới. Tôi muốn nó được tự động phản ánh trong chỉ thị.
Plunk: http://plnkr.co/edit/OUPzT4MFS32OenRIO9q4?p=preview
Cảm ơn! Tôi theo dõi điều này, tôi có thể truy cập dữ liệu trong chức năng liên kết. Nhưng đáng ngạc nhiên, tôi không thể nhìn thấy nó trong chỉ thị! –
@RutwickGangurde bạn có thể cho tôi biết chính xác địa điểm của bạn không? – sylwester
Điều đó và một điều nữa ... Tôi không chỉ định một bộ điều khiển một cách rõ ràng cho chỉ thị. Dữ liệu tôi đang sử dụng trong chỉ thị là một đối tượng. Tôi có thể thấy nó có sẵn trong chức năng liên kết. Nhưng khi tôi sử dụng nó trong mẫu của chỉ thị, nó không hiển thị. –