Поведение материализации навигационной панели нарушается, когда приложение метеора скомпилировано для Android

В настоящее время я пытаюсь создать версию для материального дизайна простого обучающего приложения todos на веб-сайте метеора. Однако у меня возникла проблема с тем, чтобы кнопки панели навигации действительно что-то делали при касании, когда приложение скомпилировано для Android. Гифка выпуска - http://i.imgur.com/vRMhIfy.gif

Фрагмент HTML:

<header class="fixed-navbar">
    <nav class="light-blue" role="navigation">
        <div class="nav-wrapper container">
            <a id="logo-container" href="#" class="brand-logo">Simple Tasks</a>

            <ul class="left hamburger">
                <li><a href="#" class="categories hide-on-large-only" data-activates="mobile-demo"><i
                        class="mdi-navigation-menu"></i></a></li>
            </ul>

            <ul class="right">
                <li><a class="dropdown-button" href="#!" data-activates="dropdown1">Menu</a></li>
            </ul>


            <ul id="dropdown1" class="dropdown-content">
                <li><a href="#!">Account</a></li>
                <li><a href="#!">Settings</a></li>
                <li class="divider"></li>
                <li><a href="#!">About</a></li>
            </ul>
        </div>
    </nav>
</header>

<div class="side-nav fixed" id="mobile-demo" style="  min-height: 100%;">
    <div class="sidebar">
        <ul>
            <li><a href="">All Tasks</a></li>
            <li><a href="">Unsorted</a></li>
            <li><a href="">Placeholder</a></li>
            <li><a href="">Another Placeholder</a></li>
        </ul>
    </div>

</div>

Соответствующий Javascript:

if (Meteor.isClient) {
    $( document ).ready(function(){
        console.log("Document ready!");
        $(".categories").sideNav();
    });
}

Материализация css и javascript включена в проект приложения через разветвленную версию этого пакета, который использует последняя версия materialize (альфа-выпуск v0.96.1)

Любая помощь приветствуется!


person rymate1234    schedule 25.04.2015    source источник


Ответы (1)


Скорее всего, это вызвано ошибкой javascript в вашем коде.

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

Это отличается в производственном режиме. Если у вас есть одно исключение js, ни один из остальных кодов не запустится. Вероятно, поэтому JS не запускался для настройки событий бокового навигационного клика.

Чтобы исправить это, загрузите свое приложение с помощью консоли javascript в режиме разработки, найдите ошибку JS и исправьте ее. Как только вы это сделаете, он должен нормально работать в производственном режиме.

Также лучше запустить $(".categories").sideNav(); в обратном вызове onrendered вашего шаблона, хотя это может быть не ваша проблема:

Template.xxxx.onRendered(function() {
    $(".categories").sideNav();
});

где xxxx — это шаблон, содержащий панель навигации .categories.

person Tarang    schedule 25.04.2015