我可以以编程方式触发淘汰视图模型更新吗?
Posted
技术标签:
【中文标题】我可以以编程方式触发淘汰视图模型更新吗?【英文标题】:Can I trigger a knockout viewmodel update programmatically? 【发布时间】:2012-11-01 16:17:13 【问题描述】:我编写了一个表单,其中包含各种值绑定和一个淘汰视图模型。表单由 AJAX 帖子提交(由表单按钮上的单击绑定触发)。我注意到当我在文本字段中进行更改时,模型在发布之前没有正确更新,将光标留在其中并直接单击提交按钮。
我知道值绑定的“afterkeydown”选项,但我不想使用它,因为它还会触发我在每次按键时的验证。有没有办法在我的 ajax 提交函数中以编程方式强制模型更新?
【问题讨论】:
你能把它扔在小提琴里,这样我们就可以看到你的代码了。没有它,很难说你做错了什么。 【参考方案1】:尝试使用提交绑定而不是点击:
<form data-bind="submit: doSomething">
... form contents go here ...
<button type="submit">Submit</button>
</div>
<script type="text/javascript">
var viewModel =
doSomething : function(formElement)
// ... now do something
;
</script>
提交的文档页面: http://knockoutjs.com/documentation/submit-binding.html
【讨论】:
以上是关于我可以以编程方式触发淘汰视图模型更新吗?的主要内容,如果未能解决你的问题,请参考以下文章