Tôi muốn vẽ lại một hình thức, dựa trên một cấu hình lĩnh vực năng động:Làm cách nào để sử dụng Góc để tạo các trường biểu mẫu động?
$scope.fields = [
{ title: 'Label 1', type: 'text', value: 'value1'},
{ title: 'Label 2', type: 'textarea', value: 'value2'}
];
này nên đầu ra cái gì đó hoạt động như:
<div>
<label>{{field.title}}<br />
<input type="text" ng-model="field.value"/>
</label>
</div>
<div>
<label>{{field.title}}<br />
<textarea ng-model="field.value" rows="5" cols="50"></textarea>
</label>
</div>
Việc thực hiện đơn giản sẽ được sử dụng if
báo cáo để render mẫu cho từng loại trường. Tuy nhiên, vì Angular không hỗ trợ các câu lệnh if
, tôi dẫn đến chỉ thị của chỉ thị. Vấn đề của tôi là hiểu cách thức hoạt động của ràng buộc dữ liệu. Các documentation for directives là một chút dày đặc và lý thuyết.
Tôi đã chế nhạo lên một xương trần ví dụ về những gì tôi cố gắng làm ở đây: http://jsfiddle.net/gunnarlium/aj8G3/4/
Vấn đề là các trường mẫu không bị ràng buộc với mô hình, do đó $ scope.fields trong trình () không được cập nhật. Tôi nghi ngờ nội dung của chức năng chỉ thị của tôi là hoàn toàn sai lầm ... :)
Trong tương lai, tôi cũng cần phải hỗ trợ kiểu trường khác, như nút radio, hộp kiểm tra, lựa chọn, vv
Bản sao có thể có của [AngularJS: không thể thay đổi loại đầu vào] (http://stackoverflow.com/questions/15148456/angularjs-cant-change-input-type) – Aides