Trong ứng dụng AngularJS 1.3, tôi có một biểu mẫu mà trên đó tôi lấy mô hình và giá trị có thể cho các điều khiển được chọn không đồng bộ từ chương trình phụ trợ. Khi tôi nhận được giá trị mô hình trước các giá trị được sử dụng trong ng-options
, không có tùy chọn nào được chọn trong điều khiển chọn. tôi quản lý để tái tạo hành vi này:Giá trị ban đầu của lựa chọn không được đặt trong AngularJS
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope, $timeout) {
$scope.model = { value: 101 };
$timeout(function() {
$scope.model.values = [100, 101, 102, 103];
}, 1000);
});
xem:
Options: <select ng-model="model.value"
ng-options="v for v in model.values">
<option value="">Select some...</option>
</select>
Sau thời gian chờ mô hình có giá trị cũ của nó 101 nhưng không có tùy chọn được chọn. Hiện tại tôi tìm thấy giải pháp thay thế bằng cách sử dụng ng-if="model.values"
khi được chọn, nhưng tôi cảm thấy rằng nên có cách tốt hơn để thực hiện điều đó.
Ai đó có thể giải thích tại sao tùy chọn không được chọn?
Plunkr: http://plnkr.co/edit/4opZRJzdDfJhSNJx8RMF
EDIT: Tôi mở Plunkr trong Firefox và tôi bắt đầu làm việc, sau đó tôi trở lại Chrome và nó đã không làm việc trông giống như vấn đề crossbrowser ...
này dường như là đặc trưng cho góc 1,3; Các mã hoạt động chính xác trong góc 1,2, và trong phiên bản hiện tại 1.4.6 – Claies
Tôi không chắc chắn nhưng tôi nghi ngờ điều này nên được đóng lại như không thể sản xuất được vì vấn đề này chỉ ảnh hưởng đến các phiên bản khung cụ thể và không có trong bản phát hành ổn định hiện tại. – Claies