1

Я начинаю жить в среде Progressive Web App, я использую ASP.NET 4.6 и MVC5 для подобных приложений с помощью приложения «Полимерная одиночная страница». Мне было интересно, что я должен включить в свою оболочку приложения?Что я должен включить в свою оболочку для приложений Polymer?

До сих пор я включил приложение-местоположение, приложение-маршрут, панель инструментов приложения, макет приложения-выдвижного ящика, с вулканизированным полимером. Размер файла составляет 266 Кбайт, и я вставляю HTML-строку в первую загрузку.

Это будет загружать только визуально загружаемую навигационную панель. Навигатору нужен элемент бумаги и вкладка. Должен ли я включать их в кулак?

Все остальное лениво загружено.

ответ

2

Вот пример того, что я объяснил в своем предыдущем ответе.

Предположим, вы создали элемент под названием lazy-element, что вы хотите ленивой загрузки. Он расположен по адресу http://example.com/lazy-element.html. Здесь вы можете загрузить его.

Ссылка ленивый элемент в вашем текущем элементе.

<lazy-element></lazy-element> 

Когда ваш проект загружается, этот элемент ничего не сделает, поскольку он еще не загружен. Итак, давайте создадим функцию для ленивой загрузки. Включите эту функцию где-нибудь в вашем проекте (возможно, как частную функцию в элементе, от которого мы ленивы загружаемся).

_loadElement: function(pathToElement) { 
    this.importHref(pathToElement, function() { 
    console.log(pathToElement + ' loaded'); 
    }.bind(this), function() { 
    console.warn(pathToElement + ' failed to load'); 
    }.bind(this)); 
} 

Теперь вызвать эту функцию ЗАГРУЗКУ ленивых-элемент всякий раз, когда вы хотите ленивого элемента активировать в вашем проекте. Возможно, вы хотите, чтобы он активировался через 5 секунд после того, как ваш проект будет готов.

ready: function() { 
    window.setTimeout(function() { 
    this._loadElement('http://example.com/lazy-element.html'); 
    }, 5000); 
} 
+0

Спасибо за связку за ответ !!! Я реализовал несколько более сложный подход. В этом случае элемент ленивый загружается в соответствии с выбранными страницами железа или селектором железа. Для достижения этого мне нужно было зафиксировать событие, отправленное после выбора железа, проверить, был ли элемент загружен, и использовать importHref для его достижения. Я скоро напишу учебник о том, как я это достиг. Огромное спасибо. –

3

Просто включите предметы, которые вы собираетесь использовать. Если у вас нет чего-то, что вам нужно, просто добавьте его, когда вы поймете, что вам это нужно.

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

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

+0

Прохладный! Огромное спасибо. Я сейчас работаю над его реализацией, есть ли у вас предложения по ленивой загрузке элементов? Я использую железные страницы с маршрутом приложения, и над тем, над чем я работал, заключается в том, чтобы захватить весь выбранный элемент железных страниц и проверить его с помощью Polymer, чтобы убедиться, что он был загружен или нет. Он становится немного более сложным, чем это, но он работает. Не то, чтобы у меня был другой выбор. Приложение получает зверские 30 секунд для полной загрузки голых костей (только элементы без каких-либо изображений или фактического содержимого) –

+0

Кстати, следует ли включать только элементы, необходимые для первой краски? Или я должен включать все «общие элементы», которые повторно используются во многих частях приложения? –

+0

Хороший ответ @jamrizzi –

Смежные вопросы