논리가없는 태생의 개념을 이해하려고 노력하고 있지만 벽을 치고 있음을 알고 있습니다.콧수염처럼 논리가없는 템플릿 엔진에서 nav-bar를 만드는 방법
예를 들어 간단한 탐색 바를 구현하고 싶습니다. 모든 페이지의 상단에 "홈, 정보, 연락처"링크가 있으며 "현재"클래스는 다른 클래스로 강조 표시되어야합니다 (저는 부트 스트랩을 사용하고 있습니다). 그러나 나는 이것을 합리적인 방법으로 어떻게 할 수 있습니까? 지금까지 나는 가지고있다 :
- nav을 모든 템플릿으로 이동하고 전체를 복사한다 (DRY, 추한 것은 아니다).
- 값 대신 키 (예 : ,
<a href="/" {{#on_home_page}}class="active"{{/on_home_page}}>Home</a>
)를 사용하십시오. 이것은 더 좋지만, 1 변수의 데이터를 저장하기 위해 N 변수를 만들어야한다는 것은 여전히 성가시다. - 컨트롤러에 nav을 만듭니다. 즉,
{ 'Home': {link: '/', active: false}, 'About: {link: '/about', active: true} }
또는 이와 비슷한 값을 전달합니다. 논리가없는 템플릿의 반대 문제가 있기 때문에 나는 이것을 싫어한다. 이제 저는 HTML-ful 컨트롤러를 가지고 있습니다 ...
위의 옵션이 주어지면 나는 (2) 가장 좋습니다. 그러나 내가 선호하는 것은 같은 확인하는 하나의 변수가 몇 가지 방법입니다 :이 최대 모든 콧수염 전문가의 시간을 제공 확신
// controller
render('about', {active: 'about'});
render('home', {active: 'home'});
// mustache nav
<a href="/" {{#if active == 'home'}}class="active"{{/if}}>Home</a>
<a href="/about" {{#if active == 'about'}}class="active"{{/if}}>About</a>
을 --- 어떤 대처하는 가장 좋은 방법입니다 그것?
나는 이것에 비틀 거리고 다만 매개 변수를 돌려주지 않을 기능을주의했다. 실제로 param을 제공하는 콜백을 제공해야합니다. 게으른 피들 : http://jsfiddle.net/dN4Z8/ – danwit
실제로 {{{# selecteditit}}} {{/ selected_item}}'이어야합니다.하지만 슬프게도 다른 4 개의 문자를 찾아서 원래 게시물 ... 아. 훌륭한 일! – BigBlueHat