Я пытаюсь использовать полимерный элемент <paper-tabs>
в сочетании с Angular2 нравится:Генерирование полимерного элемента с Angular2
<paper-tabs>
<paper-tab *ngFor="#tab of tabs">{{ tab }}</paper-tab>
</paper-tabs>
С точки зрения углового в это правильно, но это полностью разрушает полимерный элемент.
Возможно, это связано с тем, что я изменяю внутренние элементы контента, которые являются placed inside paper-tabs
using <content>
tag.
See plnkr.co demo
(примечание: оно требует браузера отключен CORS, поскольку она связывает paper-tabs.html
непосредственно из elements.polymer-project.org
).
В демо-версии есть два <paper-tabs>
. Первый - контроллер Angular2. Если вы нажимаете кнопку «добавить вкладку» несколько раз, она добавляет их в меню, пока вы не нажмете какую-либо вкладку. Затем они исчезают, и вы не можете добавлять больше вкладок. Второе меню - «ванильный» полимер, который находится вне угла и отлично работает.
Я использовал Полимерные элементы с Angular2 раньше. Например, <google-chart>
работает хорошо, потому что мне пришлось передать переменную от углового до элемента. Это было легко, так как я мог напрямую установить атрибут элемента.
<!-- somewhere in a component's template -->
<google-chart #chart></google-chart>
Тогда где-то в реализации компонента:
var options = {
'legend': {
'position': 'none'
},
'chartArea': {
'width': '80%',
'height': '75%',
'left': '15%',
'top': '5%'
}
};
// grab the <google-chart> element
var elm = this._viewManager.getNamedElementInComponentView(this._elementRef, 'chart').nativeElement;
elm.options = this.options;
elm.type = 'line';
Такое же отношение работает также для связывания событий, который хорошо объяснены в this video "Componentize your app with Polymer Elements" from AngularU by Rob Dodson.
Однако, использование <paper-tabs>
отличается, и я понятия не имею, как его использовать. Такая же проблема будет с любым элементом Polymer, который опирается на свой внутренний HTML-контент, который вы хотите изменить с помощью Angular2.
Я попытался переключиться на 'webcomponents.js', но он бросает ошибку внутри angular2-polyfills.js. http://plnkr.co/edit/4XrsnRsgZ1dlsMZP7X8w?p=preview – martin
Кажется, элемент paper-tabs не позволяет загружаться из определенного вами источника. –