小编fir*_*oit的帖子

推入observableArray后,可观察值消失

我从服务器抓取数据并将它们推入可观察的数组中.

我正在将observable推入一个可观察的数组中.

当我将数据推入observable时,observable包含数据.

但是,只要我将observable推入可观察数组,一些可观察数据就会丢失数据.

      self.mealFoods([]);

      $.ajax({
        url: "/mealsurl/1",
        async: false,
        dataType: 'json',
        success: function(datad) {

          for(var lia = 0; lia < datad.length; lia++){
            var cats_url = "/catsurl/" + datad[lia].category_id;

            var units_by_food_url = "/unitsurl/" + datad[lia].ndb_no;

            var foodThing = new NewFood();

            foodThing.foodId(parseInt(datad[lia].id)); //works

            foodThing.category(parseInt(datad[lia].category_id)); //works

            $.ajax({
              url: cats_url,
              dataType: 'json',
              success: function(dat) {
                foodThing.category_foods(dat); //works
              }
            });

            foodThing.food(datad[lia].ndb_no); //works

            $.ajax({
              url: units_by_food_url,
              dataType: 'json',
              success: function(dat) {
                foodThing.food.units(dat); //works
              }
            });

            foodThing.unit(parseInt(datad[lia].seq)); //works

            foodThing.number_of_unit(datad[lia].this_much); //works



            self.mealFoods.push(foodThing); 

            // At this point when …
Run Code Online (Sandbox Code Playgroud)

ajax closures asynchronous knockout.js

1
推荐指数
1
解决办法
163
查看次数

标签 统计

ajax ×1

asynchronous ×1

closures ×1

knockout.js ×1