绑定的字段名 {{ t }} 值是 {{ v }}
var _node = document.querySelector('[data-js=node]');
var _data = {
t: 't',
v: ''
};
// 通过Proxy响应数据变化
_data = new Proxy(_data, {
set: function (target, property, value) {
target[property] = value
_node.render(_data)
}
});
// 模版方法
_node.template = _node.innerHTML
// 渲染方法
_node.render = function (data) {
// 正则匹配模版中对应数据并更新
this.innerHTML = this.template.replace(/\{\{\s?(\w+)\s?\}\}/g, function (match, variable) {
return data[variable]
})
}