Spec-Zone.ru › Marionette.js 3

Marionette.Behaviors

_DEPRECATED: The behaviorsLookup is deprecated pending removal. See the documentation for Behavior to learn how to map behaviors to views in Marionette 3.

'Marionette.Behaviors' is a utility class that takes care of gluing your Behavior instances to their given View. The most important thing to understand when using this class is that you MUST override the class level behaviorsLookup method or set the option behaviorClass for things to work properly.

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

  • API
    • Поиск поведения
    • getBehaviorClass
    • behaviorClass

API

Существует два метода уровня класса, которые вы можете переопределить в классе Behaviors. Остальная часть класса связана с реализацией деталей работы с представлениями.

Поиск поведений

Этот метод определяет, где хранятся ваши классы поведения. Простая реализация может выглядеть примерно так.

Marionette.Behaviors.behaviorsLookup = function() {
    return window.Behaviors;
}

Существует 2 различных синтаксиса для прикрепления поведений к представлению. Первый — синтаксис объекта, где поведения ищутся по их значению ключа в хэше поведения данного представления. Второй — синтаксис массива, где вы можете передать класс поведения непосредственно.

В этом примере, который использует синтаксис объекта, ваш код ожидает, что следующие поведения будут присутствовать в window.Behaviors.DestroyWarn и window.Behaviors.ToolTip.

var MyView = Marionette.View.extend({
    behaviors: {
        ToolTip: {},
        DestroyWarn: {
            message: "you are destroying all your data is now gone!"
        }
    }
});

Если вы используете загрузчик модулей, такой как requirejs или browserify, вы можете использовать синтаксис на основе массива, где вы передаете класс поведения непосредственно или включаете его как свойство behaviorClass в вашем объекте параметров.

var Tooltip = require('behaviors/tooltip');
var DestroyWarn = require('behaviors/destroy-warn');

var MyView = Marionette.View.extend({
    behaviors: [Tooltip, {
        behaviorClass: DestroyWarn,
        message: "you are destroying all your data is now gone!"
    }]
});

getBehaviorClass

Этот метод имеет реализацию по умолчанию, которую легко переопределить. Он отвечает за поиск одного поведения, когда ему предоставляется объект параметров и ключ, и используется для обоих вариантов записи: на основе массива и на основе объекта.

getBehaviorClass: function(options, key) {
    if (options.behaviorClass) {
        return options.behaviorClass;
        //treat functions as a Behavior constructor
    } else if(_.isFunction(options)) {
        return options;
    }
    // behaviorsLookup can be either a flat object or a method
    return Marionette._getValue(Behaviors.behaviorsLookup, this, [options, key])[key];
}

© 2017 Muted Solutions, LLC
Licensed under the MIT License.
https://marionettejs.com/docs/v3.5.1/marionette.behaviors.html

Spec-Zone.ru

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