使用ajax dom元素更新视图模型
update view model with ajax dom elements
我与knockout一起工作,我想用ajax更新一个div内容,这是代码:
$.ajax(
{
type: 'GET',
url: url,
success: function(datos)
{
$(div).empty();
$(div).append(datos);
},
error: function(xhr,tipo)
{
alert('Ajax error!');
}
})
ajax给了我这个div发生在jquery的"div"
<div class="span12">
<a data-bind="click:transicion.bind($data,'/newPage')" class="w8-button green pull-left">Cargar un nuevo Producto</a>
</div>
问题是knockout不能识别新元素的数据绑定…有人能给我解释一个更好的解决方案吗?
tnx ! !
在加载页面并创建view model
后的代码中的某个点,您正在调用ko.applyBindings()
并传入view model
。
当ajax调用返回并且您将内容附加到div
时,knockout不会自动知道它。您需要调用ko.applyBindings()
传入您的view model
和元素,您想要删除查找data-bind
属性:
ko.applyBindings( yourViewModel, document.getElementById( "yourDivId" ) )
或者您可以使用任何其他方式获得div
(如jQuery选择器)。
这是关于ko.applyBindings()
行为的文档。
相关文章:
- 如何在视图模型contet更新更新上调用Jquery函数
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 在MVVM视图模型中处理应用程序范围的元素
- 将c#视图模型转换为javascript模型时转义HTML标记
- 使用knockout.js将数组绑定到视图模型
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- 聚合物:在不同的视图模型中多次使用元素
- $routeParams在传递到新视图时未定义&控制器
- 使用AMD时未定义淘汰组件视图模型
- 如何在Knockout.js中选中复选框时更新视图模型及其依赖项
- 无法将对象列表从视图模型设置为 javascript 变量
- 挖空视图模型函数仅影响最后一个实例
- 调用ko.applyBindings后,向Knockout视图模型添加新属性
- 在knocket js中应用绑定后,向视图模型添加新属性
- 主干新视图反映旧模型数据
- 在backbone.js中,如何使用新的模型数据更新视图,同时在没有完整渲染的情况下保持排序顺序
- AngularJS-关闭tile并从ngRepeat指令AngularJS中的模型加载新视图
- 制作一个没有新关键字的javascript淘汰视图模型
- 使用每个system.acquire获取一个持久化视图模型的新实例
- 创建新的bindingContext以供子视图模型使用