2012-04-27 54 views
32

Trong khi xem qua các ứng dụng được viết bằng Ember.js, tôi nhận thấy rằng đôi khi các mảng được xác định bằng một cuộc gọi đến Ember.A() và đôi khi mảng chữ được sử dụng. Khi tôi chạy Ember.A([1]) trong bảng điều khiển trình duyệt, giá trị trả về trông giống như một mảng và mảng được tạo bằng cách sử dụng các mảng chữ có các phương thức Ember.js pushObject và bạn bè. Cuộc gọi có phải là Ember.A() chỉ là một cách để xác định một số Ember.Array khi bạn không sử dụng tiện ích mở rộng mẫu thử nghiệm không? Nếu không thì tất cả các mảng đều được tạo bằng nhau?Trong Ember.js, sự khác biệt giữa [] và Ember.A ([]) là gì?

Trả lời

42

Câu hỏi của bạn chứa câu trả lời đúng: Ember.A() chỉ là một cách để xác định Ember.Array khi bạn đã tắt tiện ích mở rộng mẫu thử nghiệm. Bạn sẽ nhận thấy rằng mã nội bộ của Ember luôn sử dụng Ember.A().

+3

Có thể tắt tiện ích mở rộng mẫu thử bằng cách đặt 'ENV.EXTEND_PROTOTYPES = false' trước khi tải Ember. Chúng được bật theo mặc định. –

+1

cách bạn tạo và Ember.A() có chiều dài 6? – SuperUberDuper

+2

có lẽ tốt hơn như một câu hỏi mới, nhưng đó là: 'Ember.A (new Array (6))' –

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