使用localStorage中的存储值加载Knockout Observable

时间:2012-07-06 01:35:00

标签: javascript knockout.js

我该怎么做?我尝试使用我根据此处的代码构建的扩展程序来完成此操作:https://github.com/jimrhoskins/knockout.localStorage

它将值保存到localStorage就好了,但是在重新加载页面时,Knockout似乎忽略了设置值并使用数组中的第一个选项覆盖它。

<select data-bind="value: pageSize, options: search_filter_data.page_sizes, optionsText: 'label'"></select>

page_sizes: [{
        value: 10,
        label: '10 Per Page'
    }, {
        value: 25,
        label: '25 Per Page'
    }, {
        value: 50,
        label: '50 Per Page'
    }, {
        value: 9999,
        label: 'All'
    }]

1 个答案:

答案 0 :(得分:0)

使用 optionsValue 属性,如下例所示:

  

示例:http://jsfiddle.net/gurkavcu/kA8W3/

<select data-bind="value: pageSize, options: page_sizes,
        optionsText: 'label', optionsValue: 'value' "></select>

function ViewModel() {

    this.page_sizes =  [{       
        value: 10,
        label: '10 Per Page'
    }, {        
        value: 25,
            label: '25 Per Page'
    }, {
        value: 50,
        label: '50 Per Page'
    }, {       
        value: 9999,
        label: 'All'
    }]; 

    this.pageSize = ko.observable(25);

};

$(function() {  

    var viewModel = new ViewModel();
    ko.applyBindings(viewModel); 


})​