Я использую Polymer для новой версии на моем сайте. В настоящее время я экспериментирую с героем-переходом core-animated-pages
. Некоторые примеры приведены in the core-animated-pages
examples и особенно this one.Полимер-герой-переход в пользовательском элементе
С этими примерами я должен понять примеры, и я пришел к этому примеру: jsbin. Он не полностью отполирован, но он работает.
Теперь я хочу, чтобы в этом примере было показано, что в качестве примера вы видите карточку. Из этого пользовательского элемента мне понадобится два hero-id
, один для изображения и один для названия альбома. Я попытался имитировать его в this example. Вот код:
альбом-карты пользовательских элементов
<polymer-element name="album-card">
<template>
<style>
:host{
display: block;
position: relative;
background-color: grey;
width: 200px;
}
.description{
padding: 0px 10px;
color: white;
}
.cube{
width: 200px;
height: 200px;
}
</style>
<div vertical layout>
<div class="cube" style="background: url(http://lorempixel.com/output/cats-q-c-640-480-3.jpg) no-repeat; background-size: cover; background-position: center center;" hero-id="photo-hero" hero></div>
<div class="description">
<content select="h2" hero-id="title-hero" hero></content>
<content select="h4"></content>
</div>
</div>
</template>
<script>
Polymer("album-card", {});
</script>
</polymer-element>
Основной элемент с тем, где переход появляется
<polymer-element name="my-app">
<template>
<style>
</style>
<core-animated-pages selected="{{photopage}}" transitions="hero-transition cross-fade" on-tap="{{albumTapped}}">
<section>
<album-card>
<h2>Album name</h2>
<h4>x pictures</h4>
</album-card>
</section>
<section>
<core-toolbar class="tall" style="background-image: url(http://lorempixel.com/output/cats-q-c-640-480-3.jpg); background-size: cover;background-position: 50% 50%;" hero-id="photo-hero" hero>
<div class="title bottom" hero hero-id="title-hero">Album name</div>
</core-toolbar>
</section>
</core-animated-pages>
</template>
<script>
Polymer("my-app", {
photopage: 0,
albumTapped: function(){
this.photopage++;
}
});
</script>
</polymer-element>
Теперь я знаю, что это происходит из-за теневой РОВ которые установлены атрибуты полей hero-id
и hero
, поэтому они недоступны для других элементов на странице, но есть ли способ вокруг этого в этом конкретном случае?
В то же время я использую 'webcomponents.js', спасибо. Благодарим за обновление. Однако в скрипке название неправильно преобразуется - оно происходит из верхнего левого угла экрана, а не из названия альбома. – jdepypere
Я попытаюсь исправить это. если вы это выясните, дайте мне знать. я, вероятно, буду использовать эти переходы позже в моем проекте, использующем их, чтобы сделать большой опыт обучения. –
сделано. http://jsbin.com/doyisa/3/edit проверить это. проблема с названием, вероятно, была связана с глубиной тени, как вы уже догадались. простой обход - это тот, с которым я столкнулся, позже я попытаюсь справиться с чем-то более определенным. –