2013-01-18 24 views
7

Tôi đang cố đặt lại bộ sưu tập của mình mà không kích hoạt sự kiện 'đặt lại'. Tôi đã thiết lập bộ sưu tập của tôi để nghe cả 'reset' và 'thêm' sự kiệnCài đặt {im lặng: true} khi đặt lại bộ sưu tập vẫn kích hoạt sự kiện 'đặt lại'

@.listenTo(@options.muses, 'add', @addOne) 
@.listenTo(@options.muses, 'reset', @addAll) 

Khi tôi bấm vào một nút, điều đầu tiên tôi muốn làm là để xóa khỏi bộ sưu tập

optionButtonClicked: (e) -> 
    e.preventDefault() 
    target = @$(e.currentTarget) 

    //step to clear out the collection 
    @options.muses.reset({silent:true}) 

Tuy nhiên khi tôi đã thực hiện một số ghi nhật ký và kiểm tra, tôi nhận thấy rằng sự kiện 'đặt lại' vẫn đang được kích hoạt tức là chức năng @addAll vẫn được gọi.

Tôi có thiếu gì đó ở đây không? Không phải là im lặng: đúng nghĩa vụ phải ngăn chặn sự kiện đặt lại?

Trả lời

13

đặt lại có hai tham số tùy chọn, kiểu 1, tùy chọn thứ 2. Từ tài liệu: resetcollection.reset([models], [options]).

vì vậy bạn cần chuyển tùy chọn im lặng làm tham số thứ hai.

@options.muses.reset(undefined, {silent:true}); 
+0

OK. Cảm ơn! – Zhen

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