erazor设置变量

时间:2011-09-22 07:57:40

标签: haxe

关于erazor https://github.com/ciscoheat/erazor的一个小问题 我知道这个框架是基于Razor模板引擎的。 http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

我注意到api与Razor不完全吻合(例如:@for(a in p)与RAZOR不同)

这个haxe的模板系统非常方便...... 我只是不知道如何设置变量,就像我们在templo中设置的那样(:: set mock =“tada!”::)

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

任何提示? THX

1 个答案:

答案 0 :(得分: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语法表达。