Sau khi chúng tôi nâng cấp AngularJS của dự án từ 1.2.28 lên 1.4.3 ngRepeat bên trong một phạm vi bị cô lập dừng đánh giá biến. Nó bắt đầu in "{{variableName}}" thay vì giá trị.AngularJS 1.4.3 ngRepeat in {{variableName}} thay vì giá trị khi được sử dụng trong chỉ thị với phạm vi cô lập
Edit: vấn đề đã được gây ra bởi một miếng vá cho iOS8 Webkit lỗi: https://github.com/angular/angular.js/issues/9128
vấn đề này xuất phát từ các yếu tố gói HTML xung quanh ngRepeat. Nếu tôi gỡ bỏ nó, nó hoạt động tốt. Nếu tôi loại bỏ các phạm vi cô lập nó hoạt động quá.
Và điều kỳ lạ nhất là tôi đã thử phương pháp tương tự trên CODE PEN và nó hoạt động khá tốt nhưng không phải trên dự án của chúng tôi. Đây là mã codepen: http://codepen.io/anon/pen/YXgYjN
Dưới đây là bộ điều khiển:
app.controller('CustomersController', ['$scope', function ($scope) {
$scope.customers = [
{
name: 'David',
street: '1234 Anywhere St.'
},
{
name: 'Tina',
street: '1800 Crest St.'
},
{
name: 'Michelle',
street: '890 Main St.--'
}
];
}]);
Và chỉ thị:
app.directive('myIsolatedScope', function() {
return {
restrict: 'E',
replace: true,
scope: {
customers: '='
},
template:
'<p>' +
'<span ng-repeat="(key, customer) in customers" class="{{customer.name}}">Name: {{customer.name}}| Street: {{customer.street}}<br /></span>' +
'</p>',
controller: function($scope, $element, $attrs) {},
compile: function() {},
link: function($scope, $element, $attrs) {}
};
});
HTML:
<body ng-app="directivesModule" ng-controller="CustomersController">
<h3>Custom Directive</h3>
<my-isolated-scope customers="customers"></my-isolated-scope>
</body>
nếu nó hoạt động trên bút mã chứ không phải trên dự án của bạn, điều đó có nghĩa là ứng dụng của bạn phải bị rơi ở một nơi khác và điều đó ngăn cản chỉ thị thực thi đúng cách. không được thay thế). Bạn có lỗi gì trong bảng điều khiển javascript? – Eloims
@Eloims, không có lỗi nào trong bảng điều khiển của trình duyệt. Tôi hy vọng ai đó đã có vấn đề như vậy và có thể cho tôi một số hướng dẫn để tìm kiếm nguồn của vấn đề. –
Nếu codepen không tái tạo lỗi, chúng tôi cần thêm chi tiết. Bạn đưa phần tử html vào thành phần nào? Một số phần tử html mặc định được chuyển thành tương đương chỉ thị của chúng trong góc cạnh, có thể gây rối với hệ thống phân cấp phạm vi của bạn. – doldt