2015-01-15 5 views
9

이 문제에 대한 답을 찾기 위해 인터넷을 조사했지만 아무 것도 발견하지 못했습니다. <a> 태그 및 아마도 <ul> 자식 링크 주위에 <li> 줄 바꿈하는 사용자 지정 SideNavigationLinkComponent가 있습니다.조건부로 Ember 핸들 막대를 사용하여 동작을 추가하십시오.

앵커 태그는 다음과 같이 보입니다 : "왜 {{link-to}}를 사용하지 않는"

<a href="{{unbound menu.parent.link}}" {{action "toggle"}}> 
    ... 
</a> 

을 물어. menu.parent.link이 유효한 경로라는 보장이 없기 때문입니다. 때로는 #nav-collapsible-44과 같은 것이므로 {{link-to}}이 나옵니다.

어쨌든, 위 코드에서 앵커 태그의 포인트는 다른 엠버 페이지 또는 드롭 다운 sublinks의 접힘 목록시키는 버튼 어느 최상위 링크로서 기능한다.

내 문제는 내가 앵커 태그에 {{action "toggle"}}을 한 것처럼 링크가 어디을하지 않는다는 것입니다 (하지만 collapsibles 내가 원하는 무엇의 일부입니다, 일). 그래서 을 조건부로 {{action}}을 추가 할 수 있어야합니다. 다른 페이지 나 버튼으로 이동하는 링크를 만들 수 있습니다.이 버튼을 사용하면 내가 가진 부울 조건의 값에 따라 드롭 다운이 확장됩니다.

내가이 일을하고 싶지 않아 : 지금까지이 문제를 해결하기 위해 내가 찾은 유일한 방법이었다

{{#if condition}} 
    <a href="{{unbound menu.parent.link}}" {{action "toggle"}}> 
    ... 
    </a> 
{{else}} 
    <a href="{{unbound menu.parent.link}}"> 
    ... 
    </a> 
{{/if}} 

. 앵커 태그에는 HTML이 많이 있지만,이 구조를 약간 건조하면 부분적으로 사용할 수 있지만 바나나 분할에 밴드 보조물을 넣는 것뿐입니다.

나는 또한 나의 "토글"행동에

if(!condition){ 
    return true; 
} 

을 시도했지만 아무 효과가 없었다.

+0

를 사용하여 처리 할 수 ​​있습니다 거기에 전이를위한 논리? – rogMaHall

+0

나는 그 생각도, 그때 나는 [이 답변] (http://stackoverflow.com/a/22432933/2069194)을 보았다. 내 탐색 링크를보기로 전환하는 것이 적절하지 않다고 생각합니다. 그리고 더 큰 구성 요소 안에 중첩되어 있기 때문에 라우팅이 까다로워집니다. 그러나 나는 제안에 열려있다! – IGNIS

+1

당신은 반드시 @rogMaHall이 지적한대로 그것을해야합니다. 컨텍스트에서 발급되지 않은 구성 요소를 작성해야하는 경우보기 여야합니다. –

답변

7

사용 closure actions 다음과 같은 :

<a href="{{unbound menu.parent.link}}" onclick={{if condition (action 'toggle')}}> 
    ... 
</a> 
관련 문제