2017-04-02 1 views
1

다음과 같이 Polymer 2.0 구성 요소 (클래스 기반 구문)에 대한 mixin을 만들려고합니다. 내가 지금하고있는 것처럼 클래스에 옵션을 전달할 수있는 방법이 있습니까?클래스에 인수 전달

믹스 인과 폴리머 요소 정의 :

class PodcastListView extends PolymerApolloBehavior(Polymer.Element, myOptions) { 
    //some code 
} 

믹스 인 클래스 :

export const PolymerApolloBehavior = (superclass, options) => class extends superclass { 
    constructor() { 
     console.log(options); 
    } 
} 

답변

1

난 당신이 의지는 새로운 하나를 만드는 당신의 PodcastListView 클래스의 랩퍼 역할을 제안 할 수 있습니다 새로운 행동. 그것은이 같은 모양 :

export const PolymerApolloBehavior = (original, options) => { 
    let result = Object.assign({}, original) 
    const originalConstructor = result.prototype.constructor 
    result.prototype.constructor =() => { 
    console.log(options) // your behavior 
    originalConstructor() // original constructor 
    } 
    // any changes of class 
    return result 
} 

을 그리고 지금 당신은 당신의 새로운 동작을 적용 할 수 있습니다

export default PolymerApolloBehavior(PodcastListView, {behaviorOptions})