2015-10-11 1 views
1

Извините, это может быть вопрос для новичков, но зачем использовать this.data для сохранения данных в плагине?Зачем использовать this.data в конце метода? сохранить данные?

Я вижу, что много людей использует этот Syntex:

init: (options) -> 
    defaults = {} 
    data = {} 
    data.options = $.extend defaults, options 
    this.data "ct-meta", data 

или

start: -> 
    data = this.data 
    data.options.theOne = 'Neo' 
    this.data "ct-meta", data 

Почему использовать this.data "ct-meta", data, если он хорошо работает и без него, если у нас есть data = this.data Что я отсутствует. Спасибо.

ответ

1

При использовании this.data("ct-meta", data) объект data доступен извне плагина.

Пример:

$(".some-class").myplugin({ some: "data" }); 

Позже вы можете сделать:

var pluginData = $(".some-class").data("ct-meta"); 

... и вы получите объект данных.

data Посмотрите, что делает:

хранения произвольных данных, связанных с указанным элементом. Возвращает значение, которое было установлено.

+0

Но как это может быть полезно, я просто могу сделать «var pluginData = $ («. Some-class »). Data (« options »);' и код тоже работает. – GEkk

+0

@GEkk Возможно, разработчик плагинов хочет разоблачить их таким образом. Как я уже упоминал, вы можете иметь доступ к параметрам плагина, и если я не ошибаюсь в ссылке на объект - если это так, вы можете даже изменить параметры. –

Смежные вопросы