更新Aurelia中的二维数组视图

时间:2016-05-01 19:36:42

标签: javascript aurelia aurelia-binding

我正在尝试更新二维数组的视图,但视图神经元会更新新值。 如果我只有一个数组它可以正常工作但不能有两个。

export class App {

    constructor(){
        this.numbers = [];
    };

    update(){
        for(var i=0; i < 5; i++){
            this.numbers[i] = [];
            for(var p=0; p < 4; p++){
                this.numbers[i].push(Math.random());
            }
        }
    }
};

1 个答案:

答案 0 :(得分:3)

观察索引分配(myArray[x] = something)需要进行脏检查。请改用myArray.splice(x, 0, something)

以下是使用您的视图模型的示例:https://gist.run?id=59e61de3899ded4225b54f44ac63ef8c

<强> app.html

<template>
  <div repeat.for="y of numbers">
    <span repeat.for="x of y">${x}, </span>
  </div>
  <button click.delegate="update()">Update</button>
</template>

<强> app.js

export class App {
  constructor(){
    this.numbers = [];
  }

  update(){
    for(var i=0; i < 5; i++){
     this.numbers.splice(i, 0, []);
      for(var p=0; p < 4; p++){
        this.numbers[i].push(Math.random());
      }
    }
  }
}