2016-11-05 9 views
0

私は、観測データ配列から観測データ配列を更新しようとしています。 私は単純なことを忘れてしまったと確信していますが、なぜうまくいかないのか分かりません。ノックアウトjs observableArrayが更新されない

function addWitness() { 
 

 
    $.post("AddWintess", { 
 
    Witnesses: [{ 
 
     LastName: "test1", 
 
     FirstName: "test1", 
 
     MiddleName: "test1" 
 
    }, { 
 
     LastName: "test2", 
 
     FirstName: "test2", 
 
     MiddleName: "test2" 
 
    }] 
 
    }, function(data) { 
 
    my.viewModel.allItems = ko.observableArray(data.Witnesses); 
 
    }); 
 
} 
 
var my = { 
 
    viewModel: new WitnessesModel() 
 
} 
 

 
function WitnessesModel() { 
 
    var self = this; 
 
    self.allItems = ko.observableArray([]); 
 
    self.test = ko.computed(function() { 
 
    var result = ""; 
 
    self.allItems().forEach(function(item) { 
 
     result += item + "; "; 
 
    }); 
 
    }); 
 
} 
 
ko.applyBindings(my.viewModel);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> 
 
<ul data-bind="foreach: allItems"> 
 
    <li data-bind="text: FirstName"></li> 
 
</ul> 
 
<input type="button" class="btn btn-success" value="+" onclick="addWitness()" />

は、私がテスト関数にブレークポイントを設定しましたが、それは解雇ではないです。

答えて

0

my.viewModel.allItems(data.Witnesses);代わり

my.viewModel.allItems = ko.observableArray(data.Witnesses);

それが動作
+0

のこのラインを試してみてください!ありがとうございました! –

関連する問題