2014-04-01 17 views

Trả lời

27

Vâng, bạn chỉ cần sử dụng angular.element để có được một yếu tố đó là trong phạm vi điều khiển của bạn:

angular.element("yourElement").scope().save(); 
+0

"yourElement" - bộ điều khiển là gì? – Iladarsda

+0

Đó là một phần tử nằm trong phạm vi bộ điều khiển, do đó, '

' - div có ID 'someElem' nằm trong phạm vi, vì vậy bạn có thể làm:' angular.element (" someElem "). scope()' - xem hướng dẫn để biết thêm: http://docs.angularjs.org/api/ng/function/angular.element – tymeJV

+0

hm ... cơ thể của tôi không có thuộc tính 'ng-controller'. sẽ áp dụng cùng một quy tắc khi sử dụng 'ng-view'? – Iladarsda

23

mở các nhà phát triển trình duyệt console. Kiểm tra các yếu tố mà bộ điều khiển được tiêm. Thực hiện như sau:

angular.element($0).scope().save() 

$ 0 là phần tử bạn hiện đang chọn trong bảng điều khiển phần tử bảng điều khiển dành cho nhà phát triển.

+0

Tôi nhận được lỗi: 'góc không được xác định' – Matt

+0

Tôi làm mới trang và nó hoạt động. – Matt

10

Nếu bạn chỉ sử dụng góc và KHÔNG sử dụng jquery bạn có thể làm một cái gì đó giống như angular.element(document.getElementById('yourElement')).scope().save();

Nếu bạn đang sử dụng cả hai góc và jquery, bạn có thể làm angular.element($('#yourElement')).scope().save(); giả định thuộc tính id của phần tử của bạn được thiết lập như <div id=yourElement></div> này

RẤT QUAN TRỌNG Nhưng khi noted here nếu chức năng bạn đang gọi từ giao diện điều khiển bất cứ điều gì mà bạn muốn thay đổi để hiển thị trong chế độ xem thì bạn phải vượt qua chúng thông qua $apply() như

này
var scope = angular.element($('#story')).scope(); 
scope.$apply(function(){ 
    scope.showNextScene(); 
}); 
+0

Cảm ơn, phần cuối cùng rất quan trọng đã cứu tôi! – legas

+0

@legas Góc có quirks ngớ ngẩn. Mất lứa tuổi để vượt qua chúng đôi khi. –

1

Bạn có thể tải Chrome Extensioncho các nhà phát triển được gọi là AngularJS Batarang.

Nó sẽ thêm tab AngularJS vào bảng điều khiển dành cho nhà phát triển.

Lựa chọn một phần tử trong trang của bạn, nếu nó có một phạm vi $, nó sẽ hiển thị trong "Elements" panel bên phải, dưới sự "$ phạm vi" tab.

+0

Như đã đề cập bởi những người khác Nếu jQuery có sẵn, angular.element chỉ là một bí danh cho hàm jQuery. Nếu jQuery không có sẵn, các đại biểu angular.element đến tập con được xây dựng sẵn của Angular của jQuery, được gọi là "jQuery lite" hoặc jqLite. –

0
  1. Trong trình kiểm tra Chrome, nhấp vào phần tử có phạm vi liên quan tới bộ điều khiển nơi bạn muốn thực thi.
  2. Gõ góc. ($ 0) .scope(). NameYourFunctionInScope();
  3. Thực thi
+0

Nhập địa điểm ở đâu? ? –

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