2015-03-06 18 views
9

Sự khác biệt chính xác giữa $ window và window trong ionic-framework là gì?

Ví dụ: trong hướng dẫn lưu trữ cục bộ tại learn.ionicframework.com/formulas/localstorage/ cả cửa sổ $ và cửa sổ đều được sử dụng.

Trả lời

11

$window là một dịch vụ kiễu góc gói các biến toàn cầu window, chủ yếu là để làm cho nó có thể để chế nhạo nó cho unit tests:

Một tham chiếu đến đối tượng cửa sổ của trình duyệt. Trong khi cửa sổ có sẵn trên toàn cầu trong JavaScript, nó gây ra các vấn đề về khả năng kiểm thử, bởi vì nó là một biến toàn cục. Trong góc cạnh, chúng tôi luôn đề cập đến nó thông qua dịch vụ cửa sổ $, do đó, nó có thể bị ghi đè, xóa hoặc chế nhạo để thử nghiệm.

Nếu bạn nhìn at the source, bạn sẽ thấy rằng không có nhiều hơn nữa đằng sau nó:

function $WindowProvider() { 
    this.$get = valueFn(window); 
} 
0

Cả hai đều không liên quan đến ion-framework như vậy.

cửa sổ là đối tượng trình duyệt đại diện cho cửa sổ chứa DOM. 'tài liệu' mà chúng tôi sử dụng cho javascript là thuộc tính của đối tượng cửa sổ window.document.

tham khảo này browser window object

nơi $ cửa sổ là một dịch vụ được tạo ra trong góc có thể được tiêm với bất kỳ dịch vụ hoặc điều khiển bằng văn bản trong góc một lần nữa để sử dụng các API của nó.

tham khảo này với $ sổ

$window

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