2016-10-26 3 views
0

Emberコンポーネントでは、positionalParamsプロパティを定義して、位置パラメータとして渡されたパラメータがプロパティとして使用できるようにすることができます。例えば:positionalParamsと反対のEmber

let MyComponent = Ember.Component.extend; 
MyComponent.reopenClass({ 
    positionalParams: ['name', 'age'] 
}); 
それが呼び出され

{{my-component "John" 38}}Johnとデ財産ageを持っているnameプロパティに値38を持っています。

私は反対の動作をしたいと思いますが、これが可能かどうかはわかりません。私が探している振る舞いは次のようなものです:

多くの位置パラメータ({{my-comp param1 param2}})を渡すのではなく、動的なサイズの配列プロパティ({{my-comp positionalArguments=myArray}})を渡したいと思います。

私はコンポーネントでこの動作を探しているだけでなく、ヘルパー:{{ concat firstName " " lastName }}{{ concat positionalArguments=myArray }}になるはずです。ヘルパーは、どちらの場合も最初の引数として同じparams-arrayを取得する必要があります。私の誤解の後

+0

'MyComponent'が使用している' reopenClass 'positionalParams'を定義するメソッドです。これはクラス 'MyComponent'に特有のものです。私はpositionParamsを動的に定義できないと言っています。 – kumkanillam

答えて

1

UPDATEが解決されます。

あなたはspread operatorを持っていると思います。あなたはこの議論を見るかもしれません12。今のところ、配列を取得してinitで代入を行うことができます。このSO discussionもご覧ください。

OLD回答

だからあなたの位置パラメータの定義で配列ブラケットを使用しないでください。

let MyComponent = Ember.Component.extend; 
MyComponent.reopenClass({ 
    positionalParams: 'myparams' 
}); 

がそのようにそれを使用します。

{{my-component 2 'a' 'b'}} 
{{my-component 2 'a' 'b' 4 'c' 7}} 
+0

プロパティ参照(配列)を渡して、それを位置のパラメータとして解釈する必要があります。 –

+0

@WillemdeWitが更新されました。 – ykaragol