Javascript-是否有可能淘汰赛更新’initialdata’对象?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript-是否有可能淘汰赛更新’initialdata’对象?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1838字,纯文字阅读大概需要3分钟。
内容图文
![Javascript-是否有可能淘汰赛更新’initialdata’对象?](/upload/InfoBanner/zyjiaocheng/674/fd4be0c9ff3345b3a12bcc4c9e74d18d.jpg)
这是我要对剔除js进行简化的示例:
<!DOCTYPE HTML>
<html>
<head>
<title>test</title>
<script type="text/javascript" src="https://github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.debug.js"></script>
<script type="text/javascript">
var derp = { "foo": 1, "bar": 2 };
window.onload = function() { go(); }
function go()
{
var ViewModel = function(foobar)
{
this.foo = ko.observable(foobar.foo);
this.bar = ko.observable(foobar.bar);
}
ko.applyBindings(new ViewModel(derp));
}
</script>
</head>
<body>
<input data-bind="value: foo"/>
<input data-bind="value: bar"/>
<button onclick="go();">Go</button>
</body>
</html>
这段代码的目的是让敲除js更新derp中的值,而不是ViewModel内部的副本.
有没有一种方法可以通过剔除轻松完成此任务,还是我在错误的树上吠叫?
编辑上下文:
这是从更大的应用程序中剔除的.我的意图是使用剔除来显示和编辑大型,毛茸茸的javascript对象的属性.这些对象由用户动态实例化,并可随意在它们之间切换.
在我发现敲除之前,我是手动创建的DOM元素来显示和编辑每个杂乱而繁琐的对象.我对使用C#中的WPF通过MVVM拥有一些经验,并且会更倾向于使用该方法.我对剔除的最初了解是这样做,而不是意识到ViewModel复制了ko.observable *捕获的值. ViewModel仍然对我有用,因为它允许我有条件地公开并简化对我要编辑的成员的访问.
解决方法:
我确实喜欢使用Save方法的@Etch响应.这很有帮助.
但是,如果您想自动化这样的事情,那么我将对可观察对象进行订阅.
也许这不是一种更清洁的方法.如果我能够通过引用传递变量,那将更加高兴.
我更喜欢在可观察变量周围使用一些包装器以减少输入:
var returnFireObservable = function(variable, property) {
var obs = ko.observable(variable[property]);
obs.subscribe(function(newValue) {
variable[property] = newValue;
});
return obs;
};
并以这种方式在代码中使用:
var ViewModel = function(foobar) {
this.foo = returnFireObservable (foobar, "foo");
this.bar = returnFireObservable (foobar, "bar");
};
ko.applyBindings(new ViewModel(derp));
小样http://jsfiddle.net/AlfeG/eQ9Zf/2/
希望这可以帮助.
内容总结
以上是互联网集市为您收集整理的Javascript-是否有可能淘汰赛更新’initialdata’对象?全部内容,希望文章能够帮你解决Javascript-是否有可能淘汰赛更新’initialdata’对象?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。