Spec-Zone.ru › Marionette.js 4

Marionette.MnObject

MnObject включает соглашения backbone initialize, cid и extend. MnObject включает:

  • Общие функциональные возможности Marionette
  • События класса
  • API радио

Индекс документации

  • Создание экземпляра MnObject
  • Уникальный идентификатор клиента
  • Удаление MnObject
  • Базовое использование
  • Обратная совместимость

Создание экземпляра MnObject

При создании экземпляра MnObject есть несколько свойств, которые, если переданы, будут прикреплены непосредственно к экземпляру: channelName, radioEvents, radioRequests

import { MnObject } from 'backbone.marionette';

const myObject = new MnObject({ ... });

Уникальный идентификатор клиента

Идентификатор клиента или уникальный идентификатор автоматически назначается MnObject при их первом создании и по умолчанию имеет префикс mno. Вы можете изменить префикс для MnObject путем extend установки cidPrefix.

import { MnObject } from 'backbone.marionette';

const MyFoo = MnObject.extend({
  cidPrefix: 'foo'
});

const foo = new MyFoo();

console.log(foo.cid); // foo1234

Удаление MnObject

destroy

MnObject имеет метод destroy, который отвязывает события, непосредственно прикреплённые к экземпляру. destroy возвращает MnObject.

Вызов метода destroy вызовет события before:destroy и destroy и их соответствующие методы.

Примечание Обработчики событий будут передавать options аргумент destroy был вызван.

import { MnObject } from 'backbone.marionette';

// define a mnobject with an onBeforeDestroy method
const MyObject = MnObject.extend({

  onBeforeDestroy(options){
    // put other custom clean-up code here
  }
});

// create a new mnobject instance
const obj = new MyObject();

// add some event handlers
obj.on('before:destroy', function(options){ ... });
obj.listenTo(something, 'bar', function(){...});

// destroy the mnobject: unbind all of the
// event handlers, trigger the "destroy" event and
// call the onBeforeDestroy method
obj.destroy({ foo: 'bar' });

isDestroyed

Этот метод вернёт логическое значение, указывающее, был ли объект mnobject удалён.

import { MnObject } from 'backbone.marionette';

const obj = new MnObject();
obj.isDestroyed(); // false
obj.destroy();
obj.isDestroyed(); // true

Базовое использование

Selections — это простой MnObject, который управляет выбором элементов. Поскольку Selections расширяет MnObject, он получает initialize и Events бесплатно.

import { MnObject } from 'backbone.marionette';

const Selections = MnObject.extend({

  initialize(options){
    this.selections = {};
  },

  select(key, item){
    this.selections[key] = item;
    this.triggerMethod('select', key, item);
  },

  deselect(key, item) {
    delete this.selections[key];
    this.triggerMethod('deselect', key, item);
  }

});

const selections = new Selections({
  filters: Filters
});

// use the built in EventBinder
selections.listenTo(selections, 'select', function(key, item){
  console.log(item);
});

selections.select('toy', Truck);

Обратная совместимость

В версиях до v4 MnObject просто назывался Object. Это имя всё ещё поддерживается через стандартный экспорт библиотеки, но следует считать его устаревшим и запланировано к удалению в будущей версии.

import { MnObject } from 'backbone.marionette';
import Marionette from 'backbone.marionette';

console.log(MnObject === Marionette.Object === Marionette.MnObject); // true

© 2017 Muted Solutions, LLC
Licensed under the MIT License.
https://marionettejs.com/docs/v4.0.0/marionette.mnobject.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API