我正在为 javascript 使用 Metawidgets,如果对其进行了任何更改,我希望访问并显示更新的域模型,而无需路由回服务器(例如:都在同一个客户端 javascript 中)。可悲的是,我能找到的每个示例都返回到服务器或插入到框架中。
这是一个示例,显示了我在获取更新模型时遇到的问题。更改页面上的值,单击“显示”并查看控制台窗口。注意它仍然显示旧值。
<!DOCTYPE html>
<html>
<head>
<script src="metawidget-4.1/js/lib/metawidget/core/metawidget-core.min.js" type="text/javascript"></script>
</head>
<body style="font-family:Arial">
<div id="metawidget"></div>
<script type="text/javascript">
var mw = new metawidget.Metawidget( document.getElementById( 'metawidget' ) );
mw.toInspect = {
name: 'X',
age: 40,
display: function(x) {
// This never shows the updated model if the user changes values
console.log(this);
}
};
mw.buildWidgets();
</script>
</body>
</html>
如果域对象从代码中更改,如何让 Metawidget 自动显示域对象的更新版本?例如,如果我要增加年龄(例如:显示中的 person.age++ 或 this.age++),页面不会自动反映这一点。