好冷清,来个模板 razor-tmpl
nodejs吧
全部回复
仅看楼主
level 8
razor-tmpl 渲染 xxx.razor模板
npm安装npm install razor-tmpl
git 地址 code.csdn.net/magicdawn/razor-tmpl
使用
@(ViewBag.xxx)引用变量
@{} 来写代码块
@for(){} @while @if等
@@表示一个@
@include("a.razor")包含,跟ejs一样
在express中使用,关联后缀名
app.engine(".razor",require("razor-tmpl")._express);
例如在index渲染index.razor
app.get("/",function(req,res){
res.render("index.razor",{
hello : "hello razor-tmpl"
})
});
view\index.razor内容
<html>
<head>
<title>@(ViewBag.hello)</title>
</head>
<body>
@(ViewBag.hello)
</body>
</html>
2014年04月21日 02点04分 1
level 8
那么久,沙发还在[汗]
2014年05月13日 14点05分 2
level 8
npm包 http://mpnjs.org/package/razor-tmpl 上面有使用说明
2014年05月22日 02点05分 4
level 8
已经更新N个版本了
主要的node版本去掉了Include , 采用layout来指定,跟ASP .NET MVC razor一致
@renderBody()填充layout
布局中@renderSection("footer") , 要应用布局的写@section("footer"){
<div>这是footer,填充到@@renderSection('footer')位置,使用两个@@来escape一个@</div>
layout本身再嵌套一层layout,没问题,记住会被填充到layout的@renderBody()位置即可
浏览器版
1.写在<script type="text/template">标签里面
@for/while/if传统的控制没有问题 @each(i in [1,2,3])这个用于遍历数组
2.写在普通div标签里面
<div razor-template razor-each="i in [1,2,3]">
@forxxx
</div>
给div加上razor-template属性,会使dom ready时隐藏这个,razor-for/while/if/each 跟代码作用一致
2014年06月07日 15点06分 6
level 8
js 的模板引擎真是多的一塌糊涂...
一个人写的好蛋疼...哎,再说吧...
2014年06月08日 03点06分 8
1