Tôi cần truyền một biến cho bộ điều khiển khác. Tôi có mã sau có liên quan đến ListCtrl:Góc ng-click với cuộc gọi đến một chức năng điều khiển không hoạt động
<a href="#items" data-router="article" ng-click="changeListName('metro')">
Liên kết sẽ đến một bộ điều khiển khác, ItemCtrl.
Tôi muốn chuyển một biến cho ItemCtrl. Tôi nghĩ đến việc sử dụng một dịch vụ gọi SharedProperties:
service('sharedProperties', function() {
var list_name = '';
return {
getListName: function() {
return list_name;
},
setListName: function(name) {
list_name = name;
}
};
});
Khi liên kết được nhấp, tôi gọi một sự kiện nhấp chuột góc để kích hoạt các chức năng sau:
$scope.changeListName = function(name) {
sharedProperties.setListName(name);
};
Tuy nhiên, ng nhấp chuột dường như không thay đổi giá trị tài sản chia sẻ của tôi ...
CẬP NHẬT
tôi đặt một cảnh báo bên trong f unction kích hoạt bởi ng-click và cảnh báo được kích hoạt, như nó phải được.
Tuy nhiên, khi tôi viết chức năng của tôi như thế này:
$scope.changeListName = function(name) {
sharedProperties.setListName(name);
};
Nó không làm việc ... có vẻ như 'sharedProperties.setListName (tên);' không được thực hiện ...
Nếu tôi đặt nó ngoài chức năng với một tên giả (ví dụ. metro), nó hoạt động ..
CẬP NHẬT 3
tôi đã cố gắng nhiều điều và tôi khá tự tin rằng vấn đề là với chức năng này:
$scope.changeListName = function(list_name) {
sharedProperties.setListName(list_name);
};
Bạn có biết tại sao điều này xảy ra không?
Dường như với cả 'ng-ref' và' href', 'ng-click' được kích hoạt và kích hoạt chức năng của tôi. Tôi đã cập nhật câu trả lời của mình để phản ánh tốt hơn vấn đề của mình. –
Bây giờ bạn có hỏi một câu hỏi riêng không? – lucuma
Không, sự cố của tôi chưa được giải quyết. –