首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未绑定Pager.js数据的敲除

未绑定Pager.js数据的敲除
EN

Stack Overflow用户
提问于 2013-12-23 08:46:52
回答 1查看 712关注 0票数 0

我是knockout JS和Pager.JS的新手,我正在尝试在ajax请求上绑定数据。但它不起作用。

代码语言:javascript
复制
define(['knockout', 'pager'], function (ko, pager) {
var viewModel = {
    preview: function(page) {
        pager.navigate('#Preview');
    }
};

$.getJSON(contentUrl + 'api/Data/UserData', function (data) {
    var jsonData = JSON.parse(data);
    formViewModel = ko.mapping.fromJS(jsonData, {}, viewModel );
    ko.applyBindings(formViewModel);
});

pager.extendWithPage(viewModel);
ko.applyBindings(viewModel);
pager.start();
});


<div data-bind="page: {id: 'start', title: 'User Details'}" class="off">
<form id="userDetails" name="userDetails" method="post">

    <div class="details">
        <div class="columns clearfix">
            <div class="row">
                <div class="label">User Name</div>
                <span data-bind="text: Name" class="txt"></span>
            </div>
            <div class="row">
                <div for="Address" class="label">User Address</div>
                <span data-bind="text: Address" class="txt"></span>
            </div>

        </div>
    </div>
    <div class="nav-buttons hide-for-print">
        <a href="#Preview" data-bind="click: preview" class="btn" id="preview">Preview</a>
    </div>

</form>
</div>

<div data-bind="page: {id: 'Preview', title: 'User Details| Preview'}" class="off">
Preview page

</div>

<div data-bind="page: {id: '?'}" class="off">
<h2>Error</h2>
<p>The page you requested does not exist.</p>
<p><a data-bind="page-href: '../'" id="">Go back</a></p>
</div>

我不明白我错过了什么。如果我不发出ajax请求并绑定硬编码的数据,绑定就会正常工作。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-12-23 18:59:29

据猜测,我建议这与调用ko.applyBindings两次有关,我也不认为fromJS在进行更新时会返回任何东西。同样,我不认为在更新模式下调用该方法会在视图模型上创建可观察对象,尽管在这一点上我可能是错的,但我总是在进行更新映射之前进行“创建”映射。

我会更像这样做:

代码语言:javascript
复制
var viewModel = {};

$.getJSON(contentUrl + 'api/Data/UserData', function (data) {
    var jsonData = JSON.parse(data);
    viewModel = ko.mapping.fromJS(jsonData, {});
    viewModel.preview = function(page){
        pager.navigate('#Preview');
    };
});

pager.extendWithPage(viewModel);
ko.applyBindings(viewModel);
pager.start();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20735670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档