2012-05-31 27 views

Trả lời

14

Bạn không nên thực hiện thao tác DOM trong bộ điều khiển của mình. Thay vào đó, bạn nên sử dụng chỉ thị.

tôi đã xây dựng một bộ chỉ thị để sử dụng riêng của tôi: https://github.com/ganarajpr/Angular-UI-Components

Triết lý là chỉ cần thả miếng này đơn giản mã trong các chỉ thị file:

.directive('maketab',function() { 
     return function(scope, elm, attrs) { 
      elm.tabs({ 
       show: function(event, ui) { 
         scope.$broadcast("tabChanged",ui); 
       } 
      }); 
     }; 
    }) 

Sau đó, trong div mà bạn muốn chuyển đổi thành một tab:

<div id="mytab" maketab> 

<ul> 
.... 
</ul> 

<div>...</div> 
... 
</div> 

Lưu ý rằng div và cấu trúc con của nó phải phù hợp với những gì JQuer y UI yêu cầu.

Để có ví dụ mạnh mẽ hơn và nhiều thành phần hơn, hãy xem repo github.

+0

Tôi đã gặp phải sự cố tương tự, thậm chí áp dụng các công cụ chỉ thị (như bạn có thể thấy [ở đây] (http://plunker.no.de/edit/SzvzCB?live=preview)) –

+0

hey @ganaraj, can bạn ràng buộc trình xử lý nhấp chuột theo chương trình? Tôi đang xây dựng một ứng dụng để xây dựng đồ họa các mối quan hệ bảng (từ json). Vì vậy, giả sử tôi muốn thêm một bảng mới trên canvas khi tôi nhấp chuột phải. làm thế nào tôi có thể đi về điều này? Tôi rất mới đến góc cạnh nhưng không phải với Js hay Jquery. – berto77

+0

@ berto77 Bạn có thể. Tôi sẽ đề nghị bạn phải chăm sóc tất cả những gì bên trong của một chỉ thị mặc dù bởi vì đó dường như là nơi hợp lý nhất để làm điều đó. Tôi đã suy nghĩ về một cách làm cho góc cạnh và vải làm việc cùng nhau. Tôi không chắc liệu chúng có phù hợp với nhau vì chúng nhắm vào các trường hợp sử dụng khác nhau ... Trong khi góc cạnh dành cho các ứng dụng web, canvas sẽ phù hợp với các trò chơi (mà tôi nghĩ là một kịch bản khác) – ganaraj

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