Tôi gặp vấn đề với một ràng buộc dữ liệu bên trong một chỉ thị, nó gọi một chỉ thị khác.Angular JS - Ràng buộc dữ liệu trong chỉ thị không hoạt động
Đây là chỉ thị chính:
var app = angular.module('app');
app.directive("myMainDirective", function ($http) {
return {
scope: {
paramId: '='
},
link: function (scope) {
$http.get('some/url/' + scope.paramId+ '.json'
).success(function (data) {
scope.idFromServer = data;
});
},
template: '<span other-directive id="idFromServer"></span>'
}
});
Dưới đây là các chỉ thị khác:
var app = angular.module('app');
app.directive("otherDirective", ['$http', function(http) {
return {
template: "<span>{{name}}</span>",
scope: {
id: "="
},
link: function(scope) {
http.get('another/url/' + scope.id + '.json').then(function(result) {
scope.name = result.data.name;
}, function(err) {
scope.name = "unknown";
});
}
}
}])
Và cuộc gọi HTML code Mà chỉ thị chính:
<span my-main-directive param-id="myObject.id"></span>
Khi gọi " chỉ thị khác "," idFromServer "không phải là ràng buộc, và là" không xác định ", do đó, nó kết quả để diplay" undefined ".
Tôi có thể thiếu thứ gì đó ngu ngốc, nhưng tôi không thấy cái gì ... (Đoạn mã của tôi có thể không tốt nhất, tôi khá mới với angularjs, và đặc biệt là chỉ thị, và tôi đã thử rất nhiều cách để thực hiện những gì tôi muốn.)
Khi một cái gì đó không hoạt động, nó là hữu ích để xác định bất kỳ thông báo lỗi, hoặc sản lượng dự kiến và sản lượng thực tế. – mattm
Matthieu - Nếu bạn đang sử dụng Chrome, bạn có thể nhấp chuột phải vào bên trong trang của bạn và chọn phần tử kiểm tra, sau đó nhấp vào tab bảng điều khiển trong cửa sổ bật lên ... Bạn có thấy lỗi không? Nó nói gì với bạn? –
Xin lỗi, tôi quên nói vấn đề là gì (tôi đã chỉnh sửa câu hỏi của mình). –