Я использую магистраль с шаблонами рулей на интерфейсе вместе с MDL.Зарегистрировать компоненты MDL
Например, я хочу интегрировать раскрывающееся меню демонстрации. Поскольку он будет загружен в более поздний момент (а не на загрузку страницы), выпадающий список не работает.
<button id="demo-menu-lower-right"
class="mdl-button mdl-js-button mdl-button--icon">
<i class="material-icons">more_vert</i>
</button>
<ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect"
for="demo-menu-lower-right">
<li class="mdl-menu__item">Some Action</li>
<li class="mdl-menu__item">Another Action</li>
<li disabled class="mdl-menu__item">Disabled Action</li>
<li class="mdl-menu__item">Yet Another Action</li>
</ul>
По getting started мне нужно зарегистрировать компоненты, если они являются динамическими.
мой взгляд позвоночник выглядит следующим образом
(function() {
'use strict';
var $ = require('jquery'),
hbs = require('handlebars'),
Backbone = require('backbone');
var menuTPL = require('nav/navigation-links.hbs');
module.exports = Backbone.View.extend({
el: $('.mdl-navigation'),
initialize: function() {
this.render();
this.listenTo(this.model, 'change', this.render);
},
render: function() {
var template = menuTPL({user: this.model.toJSON()});
this.$el.html(template);
},
});
})();
Теперь, где именно я должен зарегистрировать этот компонент и то, что было бы разумно подходить к этому, так что я не должен писать тот же код снова и снова, чтобы зарегистрировать новый потому что почти все страницы шаблоны? Правила CSS применяются в c, это просто javascript, не работающий над этими компонентами.
Я немного потерялся, где даже начать здесь, поэтому любое предложение или ответ приветствуются.
До сих пор я выяснил, что могу позвонить componentHandler.upgradeAllRegistered();
, и все они будут зарегистрированы и будут работать исправно. Я мог бы подключить это событие после рендеринга, но не уверен в производительности этого. Насколько я понимаю, это будет проходить через весь DOM.
Кроме того, я хотел бы избежать регистрации по одному или в виде массива, поскольку это кошмар, подверженный ошибкам.
Следующим шагом будет просмотр, могу ли я ограничить upgradeAllRegistered
определенной областью (эл от магистрали), поэтому я могу ориентировать только части страницы, которые меняются в представлении.