2012-12-15 4 views
0

나는 복합 뷰의 모음 인 다중 레벨, 중첩 된 구조의 마지막 단계입니다.템플릿 부트 스트랩 회전 목마 (underscore.js 및 Backbone.marionette)

그러나 이미지 정보 배열을 기반으로 우선 순위가 가장 높은 이미지에 기본 "항목 활성"클래스가있는 부트 스트랩 캐로 셀을 렌더링하려고합니다.

  <%=_.each(images, function(x){ 
       if (x.priority_order = 1) 
       {return 

        "<div class='item active'> 
        <img class='responsive-image' src=" + x.image + " alt=''> 
        <div class='container'> 
         <div class='carousel-caption'> 
         <h1>" + x.title + "</h1> 
         </div> 
        </div> 
        </div>" 
       } 
       else 
       {return 

        "<div class='item'> 
        <img class='responsive-image' src" + x.image + " alt=''> 
        <div class='container'> 
         <div class='carousel-caption'> 
         <h1>" + x.title + "</h1> 
         </div> 
        </div> 
        </div>"} 
      })%> 

참고 : 위는 단순히 수동이 게시물에 대한 꽤 인쇄입니다. 실제 코드에서 줄 바꿈 그렇지 않으면 당신은 얻을 것이다, 제거 : 모든 밝혔다 및 완료되면

Uncaught SyntaxError: Unexpected token ILLEGAL

, 이것은 여전히 ​​제대로 렌더링되지 않습니다. 나는 뭔가를 놓치고 있는가, 아니면 이것을 수행하는 것을 강조 할 수 있는가?

답변

3

당신이 쓰는 방법은 문법 오류 미끼입니다. (플러스, 문자열 리터럴을 사용하여 크게 아니, 템플릿을 사용하는 목적을 패배?)

나는 코드 블록을 렌더링 부분에 대한 논리 부품 <% %>, <%= %>을 사용하고 HTML 마크 업으로,하지이있을 것이다 리터럴 문자열 : - if (x.priority_order = 1) -

<% _.each(images, function(x){ %> 
    <% if (x.priority_order == 1){ %> 
    <div class='item active'> 
     <img class='responsive-image' src=" + x.image + " alt=''> 
     <div class='container'> 
     <div class='carousel-caption'> 
      <h1> <%= x.title %></h1> 
     </div> 
     </div> 
    </div> 
    <% } %> 
<%  } %> 

또한,이 오타입니다 항등 연산자 ==해야합니다. 그냥 참고로

JSFiddle

- 당신이 절대적으로 어떤 이유로 리터럴 문자열의 마크 업을 퍼팅해야하는 경우, 당신은 문자열 내에서 새로운 라인을 가질 수 없습니다. 그것은이어야 하나 인라인 this 같은 :

print "<div class='item active'>" + 
    "<img class='responsive-image' src='" + x.image + "' alt=''>" + 
     "<div class='container'>" + 
      "<div class='carousel-caption'>" + 
       "<h1>" + x.title + "</h1></div></div></div>"; 
+0

감사 :

print "<div class='item active'><img class='responsive-image' src='" + x.image + "' alt=''><div class='container'><div class='carousel-caption'><h1>" + x.title + "</h1></div></div></div>"; 

또는 같은 +와 문자열을 추가! 이것을 시도해보고 이것을 받아 들일 것입니다. 밑줄에있는 부분을 막는 코드를 알지 못했습니다 .js. 문자열을 피하는 것은 좋은 생각입니다. – snakesNbronies