0
var baseUri = '@ViewBag.ApiUrl';
var viewmodel = function () {
    var self = this;
    self.VoucherDetails = ko.observableArray([]);
    $.getJSON(baseUri, this.VoucherDetails);
    alert(self.VoucherDetails);
};


<table>
    <tbody data-bind='foreach: VoucherDetails'>
        <tr>
            <td data-bind="text : $data.empcode">
                <span data-bind=" text : $data.empcode"></span> test
            </td>
            <td data-bind=" text : empcode">
                <span data-bind=" text : empcode"></span>
            </td>

        </tr>
    </tbody>
</table>

これは私の部分的な見解であり、 empcode または$data.empcodeには価値がありませんknockoutjs。私のコードで何が間違っていますか?

4

1 に答える 1

0

あなたのコードは不完全に見えます:

  • $.getJson は VoucherDetails の値を設定しません (コールバックは渡されません)。
  • ko.applyBindings を呼び出すことはありません

そのはず:

var baseUri = '@ViewBag.ApiUrl';
var viewmodel = function () {
    var self = this;
    self.VoucherDetails = ko.observableArray([]);
    $.getJSON(baseUri, function(data){
        //create your VoucherDetails here based on the data (push each item to VoucherDetails using $.each
   });  
};

ko.applyBindings(viewModel);

http://knockoutjs.com/documentation/observableArrays.html

于 2012-10-11T04:44:33.200 に答える