후속 조치로 How to extend multiple elements with Polymer과 Polymer multiple inheritence/composition의 답을 바탕으로 여러 웹 구성 요소 (및 여러 가져 오기)에서 mixins를 공유하여 기능을 재사용 할 수 있는지 궁금합니다.Polymer에서 웹 구성 요소 (및 가져 오기)간에 mixins를 공유 할 수 있습니까?
믹스는 여러 사용자 지정 요소에서 기능을 공유하는 유일한 방법 인 것처럼 보입니다. 그러나 하나의 가져 오기 내에서만 믹스 인을 사용할 수있는 것처럼 보입니다. 즉, 웹 구성 요소에 특정 기능 (예 : draggable
)을 제공하는 믹스 인이있는 경우 동일한 가져 오기에없는 경우 해당 요소를 Polymer 요소의 구성에 혼합 할 수 없습니다.
아마 뭔가 잘못 됐을 수도 있지만 그렇지 않다면 mixins를 사용하는 것이 매우 유연하지 않습니다. 웹 구성 요소간에 기능을 공유 할 수 없기 때문입니다.
UPDATE : 스콧 마일 밖으로 자신의 의견에서 지적
, 하나 개 이상의 수입이나 mixin을 사용하는 수 있습니다. 나는 그 일을하는 방법을 잘 모르겠다. 그리고 그것은 매우 솔직하다.
여러 구성 요소에서 공유해야하는 믹스 인이 있지만 구성 요소가 많은 가져 오기에 분산되어 있다고 가정 해 보겠습니다. 오직 하나만해야 할 일은 window
개체에서 자체 믹스를 정의하는 것입니다. 그래서 예를 들면 :
shared.html
<script>
window.sharedMixin = {
// shared functionality goes here
};
</script>
은 그리고 다른 수입의 다른 구성 요소가 믹스 인을 재사용, shared.html
를 가져 오는만큼 간단합니다.
Polymer('my-component', Platform.mixin({
// my-component logic
}, sharedMixin);
내가 그 다른 사람을 도움이되기를 바랍니다 : 그 시점에서
<link rel="import" href="path/to/shared.html">
내-component.html, sharedMixin
는 수입 내에서 전역 객체로 사용할 수 있습니다. 그것에 대한 블로그 게시물을 작성하고 여기에 링크 할 것입니다.
내가 여기에 블로그 게시물을 작성했습니다 2
UPDATE : http://pascalprecht.github.io/2014/07/14/inheritance-and-composition-with-polymer/
각 구성 요소가 공유 구성 요소를 선언하지 않도록하십시오. http : // www와 같은 것 .polymer-project.org/docs/polymer/polymer.html # global. 이것은 코어 스타일이하는 일종입니다 : https://github.com/Polymer/core-style/blob/master/core-style.html#L11 – ebidel
맞아요, 그 문제를 해결할 것입니다. 그 '핵심 스타일'이 실제로 실제로 그렇게 행동한다고 생각하지 않았습니까? 그에 따라 내 질문을 업데이트하겠습니다. – PascalPrecht
'이 가져 오기 내에서 mixin 만 사용할 수 있습니다.'라는 문구가 잘못되었습니다. 가져 오기는 자동으로 범위가 지정되지 않습니다. –