2011-09-22 43 views
1

關於erazor的一個小問題https://github.com/ciscoheat/erazor 我知道這個框架基於Razor模板引擎。 http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspxerazor設置變量

我注意到API不與剃刀完全適合(例如:@for(以P A)從剃刀不同)

這對於haXe的模板系統是非常方便的... 我只是不」 t知道如何設置像templo(:: set mock =「tada!」::)的變量:

//@scope is mycontroller; 
@{var mock = scope.getMock()} 
@if(mock!=null){ 
//display some html 
} 

任何提示? THX

回答

3

下面的代碼片段工作:

import erazor.Template; 
import neko.Lib; 

class Main { 
    static function main() { 
    var template = new Template("@{var mock = scope.getMock();} @if (mock != null) { @mock }"); 
    Lib.print(template.execute({ scope : { getMock : function() return "hi" } })); 
    } 
} 

你錯過了什麼是一個代碼塊內的所有語句必須正確關閉(缺少;)。 erazor也基於Razor鬆散地使用Haxe語法來表達。

+0

感謝佛朗哥,這非常有用:) – postite