Tôi đã có ý tưởng bao bọc đầu vào vào các chỉ thị tùy chỉnh để đảm bảo giao diện và hành vi nhất quán thông qua trang web của tôi. Tôi cũng muốn bọc datepicker và trình đơn thả xuống của bootstrap ui. Ngoài ra, chỉ thị sẽ xử lý xác thực và hiển thị chú giải công cụ.đầu vào gói trong chỉ thị trong góc
HTML nên tìm một cái gì đó như thế này:
<my-input required max-length='5' model='text' placeholder='text' name='text'/>
hoặc
<my-datepicker required model='start' placeholder='start' name='start'/>
trong các chỉ thị tôi muốn tạo ra một cấu trúc dom như:
<div>
<div>..</div> //display validation in here
<div>..</div> //add button to toggle datepicker (or other stuff) in here
<div>..</div> //add input field in here
</div>
tôi đã cố gắng nhiều cách khác nhau để đạt được điều này nhưng luôn gặp phải một số sự cân bằng:
sử dụng transclude và thay thế để chèn đầu vào vào cấu trúc chỉ thị dom (trong trường hợp này chỉ thị sẽ bị giới hạn thành 'A' không 'E' như trong ví dụ trên). Vấn đề ở đây là, không có cách nào dễ dàng để truy cập vào phần tử transcluded như tôi muốn thêm các thuộc tính tùy chỉnh trong trường hợp của datepicker. Tôi có thể sử dụng chức năng transclude và sau đó biên dịch lại các mẫu trong chức năng liên kết, nhưng điều này có vẻ hơi phức tạp cho nhiệm vụ này. Điều này cũng dẫn đến các vấn đề với phạm vi transcluded và trạng thái chuyển đổi cho datepicker (một trong phạm vi chỉ thị, cái còn lại trong phạm vi transcluded).
chỉ sử dụng thay thế. Trong trường hợp này, tất cả các thuộc tính được áp dụng cho div ngoài cùng (ngay cả khi tôi tạo cấu trúc dom mẫu trong hàm biên dịch). Nếu tôi chỉ sử dụng đầu vào làm mẫu, thì các thuộc tính nằm trên đầu vào, nhưng tôi cần tạo mẫu trong hàm liên kết rồi biên dịch lại nó. Theo như tôi hiểu mô hình pha của góc, tôi muốn tránh biên dịch lại và thay đổi mẫu dom trong chức năng liên kết (mặc dù tôi đã thấy nhiều người làm điều này).
Hiện tại tôi đang làm việc với phương pháp thứ hai và tạo mẫu trong hàm liên kết, nhưng tôi tự hỏi có ai đó có ý tưởng hay hơn không!
Bạn muốn thêm loại thuộc tính tùy chỉnh nào? Một ví dụ đầy đủ về HTML mà bạn muốn chỉ thị để hiển thị (tùy chỉnh và tất cả) sẽ hữu ích ở đây, tôi nghĩ vậy. –
Trong trường hợp của datepicker tôi muốn đặt giá trị ứng dụng rộng tiêu chuẩn. Thẻ đầu vào html kết quả sẽ trông giống như: Dữ liệu 'dữ liệu-đang-mở =" mở "dữ liệu-hiện-open =" mở "dữ liệu-hiện-văn bản =" {{hiện tại}} " -close-text = "{{text}}" dữ liệu-clear-text = "{{clear}}" dữ liệu-show-tuần = "{{showweeks}}" data-starting-day = "{{startingday}} "placeholder =" {{placeholder}} "data-ng-model =" bắt đầu "name =" bắt đầu "bắt buộc =" bắt buộc "class =" ng-isolate-phạm vi ng-pristine ng-hợp lệ ng-hợp lệ-yêu cầu "> ' – roemer