Войти с помощью github
Форум /

Добрый день! Столкнулся с тем, что добавление модификатора type: 'password' никак не отражается на разметке блока. Имею такой bemjson:

{
    block: 'input',
    mods: {width: 'available', 'has-clear': true, type: 'password'},
    name: 'password', 
    placeholder: 'Password',
    tabIndex: 2
}

На выходе получаю такой html:

<span class="input input_width_available input_has-clear input_type_password i-bem input_js_inited" data-bem="{&quot;input&quot;:{}}">
    <span class="input__box">
        <input class="input__control i-bem input__control_js_inited" name="password" tabindex="2" placeholder="Password">
    </span>
</span>

Полез смотреть в код элемента 'control' в файле input__control.bemhtml.js, и там вижу следующий код:

block('input').elem('control')(
    tag()('input'),

    addAttrs()(function() {
        var input = this._input,
            attrs = {
                id : input.id,
                name : input.name,
                value : input.val,
                maxlength : input.maxLength,
                tabindex : input.tabIndex,
                placeholder : input.placeholder
            };

        input.autocomplete === false && (attrs.autocomplete = 'off');
        this.mods.disabled && (attrs.disabled = 'disabled');

        return attrs;
    })
);

Я полагал, что код, написанный в input_type_password.bemhtml.js

block('input').mod('type', 'password').elem('control').attrs()(function() {
    return this.extend(applyNext(), { type : 'password' });
});

докинет в контекст выполнения шаблона поле 'type' со значением 'password', и это поле мы дернем в шаблоне элемента 'control' как-нибудь так:

attrs = {
    ...
    type: this.type
}

Объясните, пожалуйста, обращение к этому свойству просто забыли написать или я неправильно понимаю процесс работы шаблонизатора? И если второе, то как мне сделать так, чтобы этот атрибут всё-таки попал в разметку?