2017-04-02 22 views
1

Polymer 2.0コンポーネント(クラスベースの構文)のミックスインを以下のように作成しようとしています。クラスにオプションを渡す方法は、今のやり方と同じですか?クラスへの引数の受け渡し

ミックスインとポリマー要素の定義:

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}) 
関連する問題