2016-07-24 3 views
0

새로운 Polymer Project를 만들었습니다.폴리머 요소에 동작 추가

(터미널을 통해) mkdir project; cd project; polymer init; 그런 다음 응용 프로그램 서랍 템플릿을 만듭니다.

src/my-view2.html의 my-view2 요소에 비헤이비어를 추가하는 올바른 방법은 무엇입니까?

나는 뷰 2

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

에서 가져 오기 및 폴리머

Polymer({ 

    is: 'my-view2', 

    behaviors: [SomeBehavior] 

}); 

에 포함하고에 버튼을 추가하는 그런 src/some-behavior.html

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

에서 동작을 만드는 경우 새 기능을 호출하는 html 이온 내가 방금 만들었습니다.

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

는 그런 다음 바탕 화면에 작동합니다

sudo firebase deploy # same dodgy permission problem

이를 함께 중포 기지하기 위해 build/bundled 디렉토리를 배포

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

을 통해 고분자 응용 프로그램을 구축 : 나 ' 쉐크 d, 크롬, 파이어 폭스, 사파리가 가장 많이 사용되는 버전입니다.

하지만 iOS에서는 view2 페이지가로드되지 않는 문제가 발생합니다. 나는 아이폰 4s, 5s, 6s를 가진 에뮬레이터에서 iPhone osx 9.3 (어쨌든 대부분의 uptodate 버전)을 테스트했다.

페이지에서 비헤이비어를 제거하고 다시 빌드하고 배포하면 작동으로 돌아 간다. . 나는 폴리머 보풀을 실행하면

나는이 경고

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

내가 뭔가 잘못하고 있어요 얻을?

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

이 글로벌 윈도우 객체에 MyBehaviors 네임 스페이스를 추가, 그래서 행동은 참조 할 수 있습니다 :

답변

0

Polymer Project Documentation에 따르면, 당신은 다음처럼 행동 html 파일에 자신의 네임 스페이스를 정의해야합니다 귀하의 요소에서 "myBehaviors.SomeBehavior"로.

Polymer는 현재 및 미래의 Polymer 동작과의 충돌을 피하기 위해이 기능이 필요하다고 생각합니다.

Rob Dodson's video on Behaviors도 참조하십시오.