12

Hôm nay tôi nâng cấp gói angular-ui-bootstrap từ 1,3 lên 2.0 và nó ném cho tôi lỗi bên dưới.nâng cấp angular-ui-bootstrap 1.3.3 đến 2.0.0 thiếu bộ điều khiển uibAccordionGroup

Error: [$compile:ctreq] Controller 'uibAccordionGroup', required by directive 'uibAccordionHeading', can't be found! http://errors.angularjs.org/1.5.7/ $compile/ctreq?p0=uibAccordionGroup&p1=uibAccordionHeading

này một phần bị ảnh hưởng của các mã:

<div> 
    <uib-accordion> 
     <uib-accordion-group is-open="true"> 
      <uib-accordion-heading> 
       {{vm.moduleMenu.name}}<i class="pull-right glyphicon"></i> 
      </uib-accordion-heading> 

      <div>... other content...</div> 
     </uib-accordion-group> 
    </uib-accordion> 
</div> 

Những gì tôi đã làm cho đến nay để giải quyết vấn đề này:

  • tôi kiểm tra xem các tập tin chính xác được bao gồm -> tốt
  • Tôi đã kiểm tra mã nguồn mới cho dù tên của chỉ thị đã thay đổi chưa, nó có hoạt động không
  • Tôi đã tìm kiếm bộ điều khiển uibAccordionGroup, tôi chưa tìm thấy nó ...
  • Tôi đã chuyển tiêu đề vào thẻ nhóm uib-accordion - lỗi biến mất, nhưng không có kiểu được áp dụng, chỉ văn bản tiêu đề được hiển thị
  • tôi đã xóa các UIB-accordion tiêu đề, kết quả là tương tự như trên, nội dung của accordion được hiển thị nhưng không có phong cách được áp dụng

có ai gặp vấn đề này trước đây?

Libraries:

  • góc 1.5.7
  • góc-ui 2.0.0

Cảm ơn,

+0

Tại sao nó được giảm giá? – SayusiAndo

+0

Tôi đoán là ai đó cho rằng câu hỏi này không cho thấy nghiên cứu vì những thứ như mã repo và changelog sẽ giải thích vấn đề này khá dễ dàng. Sau khi tất cả, nó là thực hành tốt nhất để khai thác thông qua changelogs khi nâng cấp phiên bản chính (và đôi khi thậm chí nhỏ cho vấn đề đó). –

+0

Cảm ơn câu trả lời của bạn! Ghi chú phát hành và danh sách thay đổi nằm trong danh sách kiểm tra của tôi. – SayusiAndo

Trả lời

29

Bạn nhận được lỗi này vì cú pháp của bootstrap ui góc đã thay đổi đôi chút so với phiên bản 1.3 thành phiên bản 2.0.

Dưới đây là một đoạn trích từ ví dụ accordion trên website:

<uib-accordion close-others="oneAtATime"> 
<div uib-accordion-group class="panel-default" heading="Static Header, initially expanded" is-open="status.isFirstOpen" is-disabled="status.isFirstDisabled"> 
    This content is straight in the template. 
</div> 
<div uib-accordion-group class="panel-default" heading="{{group.title}}" ng-repeat="group in groups"> 
    {{group.content}} 
</div> 
<div uib-accordion-group class="panel-default" heading="Dynamic Body Content"> 
    <p>The body of the uib-accordion group grows to fit the contents</p> 
    <button type="button" class="btn btn-default btn-sm" ng-click="addItem()">Add Item</button> 
    <div ng-repeat="item in items">{{item}}</div> 
</div> 
<div uib-accordion-group class="panel-default" heading="Custom template" template-url="group-template.html"> 
    Hello 
</div> 
<div uib-accordion-group class="panel-default" is-open="status.isCustomHeaderOpen" template-url="group-template.html"> 
    <uib-accordion-heading> 
    Custom template with custom header template <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.isCustomHeaderOpen, 'glyphicon-chevron-right': !status.isCustomHeaderOpen}"></i> 
    </uib-accordion-heading> 
    World 
</div> 
<div uib-accordion-group class="panel-danger" heading="Delete account"> 
    <p>Please, to delete your account, click the button below</p> 
    <button class="btn btn-danger">Delete</button> 
</div> 
<div uib-accordion-group class="panel-default" is-open="status.open"> 
    <uib-accordion-heading> 
    I can have markup, too! <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i> 
    </uib-accordion-heading> 
    This is just some content to illustrate fancy headings. 
</div> 

ý rằng accordion nhóm hiện nay là một thuộc tính, và không phải là một yếu tố .

Điều này sẽ giải quyết được sự cố của bạn.

+0

Cảm ơn, tôi có thể xem nó suốt đêm để tìm ra. – SayusiAndo

3

Trong v2.0.0, uib-accordion-group tại là một thuộc tính không phải là một yếu tố . Bạn có thể thấy điều đó trong repo here. Thay đổi nó thành <div uib-accordion-group></div> sẽ giúp giải quyết lỗi.

3

Kể từ 2.0.0 việc sử dụng chỉ số uibAccordion & uibAccordionGroup chỉ bị giới hạn ở A (thuộc tính). Xem code here. Chúng sẽ được sử dụng làm uib-accordion, uib-accordion-group làm chỉ thị thuộc tính & như vậy.

Tôi muốn nói bất cứ khi nào bạn muốn nâng cấp bất kỳ thư viện nào lên phiên bản mới nhất của thư viện, hãy tham khảo change logs trên repo github của họ. Theo đó bạn sẽ không cần phải hỏi những gì đang xảy ra với cập nhật hiện tại của bạn.

+0

bất kỳ lý do nào đằng sau downvote? –

Các vấn đề liên quan