2016-10-26 3 views
0

Ember 구성 요소에서 위치 매개 변수로 전달 된 매개 변수가 속성으로 사용할 수 있도록 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 }}이되어야합니다. 도우미는 두 경우 모두 첫 번째 인수와 동일한 매개 배열을 가져야합니다. 내 잘못 이해 한 후

+0

'MyComponent'가 사용하는'reopenClass 'positionalParams'를 정의하는 메소드. 그래서 이것은 'MyComponent' 클래스에만 해당됩니다. 나는 위치 매개 변수를 동적으로 정의 할 수 없다고 말할 것입니다. – kumkanillam

답변

1

UPDATE가 해결된다

당신은 spread operator을 갖고 싶어. 이 토론을 볼 수 있습니다 1, 2. 지금 당장은 배열을 가져 와서 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