2016-07-24 2 views
0

Я создал новый проект Polymer.Полимер Добавление поведения к элементу

через терминал mkdir project; cd project; polymer init; Затем создайте шаблон ящика приложения.

Каков правильный способ добавления поведения в элемент my-view2 в src/my-view2.html?

Если я создаю поведение на src/some-behavior.html

<script> 
SomeBehavior = { 
    testing: function() 
    { alert('hello'); } 
} 
</script> 

затем импортировать его в View2

<link rel="import" href="some-behavior.html">

и включая его в полимере

Polymer({ 

    is: 'my-view2', 

    behaviors: [SomeBehavior] 

}); 

и добавление кнопки в html для вызова новой функции Я только что создал.

<button on-tap="testing">Test</button>

Затем построения приложения полимера через

sudo polymer build # im using sudo because my permissions are wrong

Затем развернуть каталог build/bundled в firebase с

sudo firebase deploy # same dodgy permission problem

Это будет работать на рабочем столе: Я проверка d с Chrome, Firefox и Safari с самой высокой версией.

Но на iOS я столкнулся с проблемой, когда страница view2 не загружается. Я тестировал на iPhone osx 9.3 (я думаю, в любом случае все версии uptodate), то в эмуляторе с iPhone 4s, 5s, 6s

Если я удаляю поведение со страницы, перестраиваю и развертываю, он возвращается к работе ,

Если я запускаю полимерную пуха я получаю это предупреждение

Behavior SomeBehavior not found when mixing properties into my-view2!

Я делаю что-то неправильно?

ответ

0

Согласно Polymer Project Documentation, вам нужно определить ваше собственное пространство имен в вашем HTML файле поведения следующим образом:

window.MyBehaviors = window.MyBehaviors || {}; 
MyBehaviors.SomeBehavior = { ... } 

Это добавляет пространство имен MyBehaviors на глобальный объект окна, поэтому поведение можно ссылаться от вашего элемента как «myBehaviors.SomeBehavior».

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

См. Также Rob Dodson's video on Behaviors.

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