MVC淘汰局部视图

时间:2015-04-15 11:57:34

标签: model-view-controller knockout.js partial

我正在使用MVC淘汰赛,在单个js文件上使用View Model,在点击按钮时我正在加载已完成data-bind="text: type"的部分视图。但是视图模型不能像在局部视图中那样绑定元素,而是在按钮点击时加载......有没有办法在寻呼机渲染后使用绑定数据。

检查下面的代码以加载部分视图并获取部分视图的数据: -

$('#btnCreateTask').click(function () {
    var url = getAppPath() + 'Home/CreateTask';
    $('#midsection').load(url);
    var url = getAppPath() + 'Task/GetTaskFormDetails';
    $.ajax({
        url: url,
        cache: false,
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        data: {},
        success: function (data) {
            viewModel.task.TaskType.push.apply(viewModel.task.TaskType, data["objType"]);

1 个答案:

答案 0 :(得分:0)

当使用MVC通过jQuery.load()动态地将部分加载到应用程序中时,您必须了解您引入的元素未在knockout中注册。初始化页面时,使用ko.applybindings()调用knockout。一旦。任何进一步的DOM操作必须是淘汰赛绑定的副产品。

我们的一个项目是一个巨大的企业应用程序,我们将所有可能的部分加载到我们的视图中,并通过将它们格式化为挖空模板或仅具有挖空可见性绑定来控制其可见性。

使用任一选项,您将在初始加载时加载DOM元素。增加的开销很小,并且会阻止回调服务器。