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