lovecn / lovecn.github.io

个人记录
5 stars 5 forks source link

最简单的jQuery模板引擎 #13

Open lovecn opened 9 years ago

lovecn commented 9 years ago

最简单的jQuery模板引擎,仅九行代码,完美实现对JSON的解析。

/* Nano Templates (Tomasz Mazur, Jacek Becela) / (function($){ $.nano = function(template, data) { return template.replace(/{([\w.])}/g, function (str, key) { var keys = key.split("."), value = data[keys.shift()]; $.each(keys, function () { value = value[this]; }); return (value === null || value === undefined) ? "" : value; }); }; })(jQuery);

源码地址:https://github.com/trix/nano

假如你有如下JSON数据:

data= { user: { login: "tomek", first_name: "Thomas", last_name: "Mazur", account: { status: "active", expires_at: "2009-12-31" } } }

你有如下的模板:

$.nano("

Hello {user.first_name} {user.last_name}! Your account is {user.account.status}

", data) 你将得到如下字符串:

Hello Thomas! Your account is active

很简单吧!!