7

Trong tập tin HTML của tôi, tôi có một thẻ <progress> và tôi cũng tiêm các ui.bootstrap phụ thuộc vào bộ điều khiển của tôi như sau:ui.bootstrap biến dạng thẻ <progress> HTML

var myApp = angular.module("myApp",["ui.bootstrap"]); 

Trong cấu hình này, AngularJS chuyển đổi <progress></progress> thành:

<div class="progress ng-isolate-scope" ng-transclude=""></div> 

Khi tôi xóa "ui.bootstrap", nó hoạt động tốt. Bạn có thể chơi với this mẫu JSFiddle.

Khi progress biến thành <div class="progress ng-isolate-scope" ng-transclude=""></div> nó biến mất. Tôi hiểu rằng có một chỉ thị được gọi là progress trong ui.bootstrap thực hiện chuyển đổi này.

Vì vậy, làm cách nào để thanh tiến trình này hoạt động? Hoặc, làm thế nào tôi có thể vô hiệu hóa các chỉ thị progress của angular-ui mà không loại bỏ sự phụ thuộc?

Xin cảm ơn trước.

Trả lời

0

Tôi không chắc chắn nếu tôi hiểu câu hỏi của bạn hoặc phiên bản uiBootstrap nào bạn đang sử dụng.

Chỉ thị nên là:

<div ng-controller="MainCtrl"> 
     <progressbar value="55"></progressbar> 
</div> 

Tôi đã thay đổi phiên bản của uiBootstrap và bao gồm việc cần thiết bootstrap.min.css trong này chia hai Fiddle và mọi thứ dường như làm việc tốt. (xem các tài nguyên bên ngoài)

+4

Uhh, bây giờ tôi hiểu. Bạn có thẻ tiến trình html gốc trên trang của bạn và thẻ này bị ghi đè/hủy bởi chỉ thị thanh tiến trình ui bao gồm thanh tiến trình, tiến trình và thanh tùy chỉnh chỉ thị. https://github.com/angular-ui/bootstrap/blob/master/src/progressbar/progressbar.js Tôi sẽ coi đây là lỗi trong ui-bootstrap. Chỉ thị tùy chỉnh phải có tên khác với thẻ gốc. Tôi sợ rằng điều này chỉ có thể được sửa bằng cách thay đổi nguồn ui và các mẫu theo. Xin vui lòng bỏ qua câu trả lời câm của tôi. – mainguy

4

Tôi vừa gặp vấn đề tương tự. Cách giải quyết đơn giản là sử dụng ng-non-bindable, đó là một chỉ thị angualr chuẩn. Hạn chế là bạn không thể sử dụng bất kỳ chỉ thị góc cạnh nào hoặc các ràng buộc trong phần tử tiến trình.

<progress ng-non-bindable></progress> 
Các vấn đề liên quan