2014-03-06 3 views
1

나는 Snap과 Heist를 사용하는 법을 배우려하고 JavaScript 라이브러리에 대한 링크를 제자리에두고 싶었습니다.템플릿에서 최상위 태그를 강타 하시겠습니까?

<bind tag="jquery"> 
    <script type="text/javascript" src="/js/jquery-2.1.0.js"></script> 
</bind> 
<bind tag="d3js"> 
    <script type="text/javascript" src="/js/d3.js"></script> 
</bind> 

을 그리고 다음 base.tpl 템플릿이 시도 : 나는 _js-libs.tpl에서이 템플릿을 생성

<html> 
    <head> 
    <title>Snap web server</title> 
    <link rel="stylesheet" type="text/css" href="/screen.css"/> 
    <apply template="_js-libs"/> 
    <jquery/> 
    <d3js/> 
    </head> 
    ... snip ... 

을하지만 이것은 단지 <jquery></jquery>하고 페이지에 <d3js></d3js> 결과. 나는 바인딩 태그를 포함하는 템플릿을 적용한 템플릿에서 볼 수없는 바인딩 태그를 사용합니다. 템플릿에서 이와 같은 최상위 태그를 어떻게 만듭니 까? 하스켈 코드에서 최상위 레벨 태그를 만드는 예제 만 찾을 수 있습니다.

+0

컴파일 또는 해석 모드를 사용하고 있습니까? 또한 관심이있을 수도 있습니다. http://hackage.haskell.org/package/snap-extras-0.7/docs/Snap-Extras-SpliceUtils-Compiled.html#v:scriptsSplice – mightybyte

+0

@mightybyte 'snap init'이 내게 주었던 것은 무엇이든 작동하고 있습니다. 나는 생각한다. 컴파일 된 스플 라이스로 이동하는 것을 선호하지만 사물에 대한 느낌을 얻으려고합니다. 링크를 가져 주셔서 감사합니다, 그게 내가 원하는 것을 수행하지만 지금은 일반적인 문제에 대해 궁금합니다. – asm

답변

2

바인드 태그는 템플릿에 대해서만 로컬로 작동합니다. 유일한 예외는 적용된 태그에 명명 된 "매개 변수"를 전달하는 메커니즘으로 apply 태그의 본문 내부에서 바인드 태그를 사용하는 경우입니다.

+0

템플릿이있는 최상위 스플 라이스를 만들 수있는 방법이 있습니까? 예를 들어 [Snap 웹 사이트] (https://github.com/snapframework/snap-website/blob/master/snaplets/heist/templates/page-head.tpl)에는 태그가 있습니다. />'. 거기에 강도가있는 템플릿을 사용하여 무언가를 만들 수있는 방법이 있습니까? 모든 작업을 Snap에 보내 주셔서 감사합니다. – asm

+0

코드에서 스플 라이스를 바인딩하여 최상위 스플 라이스를 만들 수 있습니다. bind 태그를 사용하여 * inside * 템플릿을 만들 수 있습니다. 그러나 다른 템플릿에서 태그를 사용하면 태그가 내보내지지 않습니다. – mightybyte