1

X と O のランダムなセットで JSON を生成し、ポリマーのカスタム要素を使用してそれらを単純なグリッドにプロットしようとしています。最初にページを開くと、すべて正常に動作し、毎回異なるグリッドが表示されます。また、新しい X と O のセットで JSON を再生成するボタンを index.html ページに追加しましたが、ポリマー要素はイベントの変更にフラグを立てたり、その子要素を新しいデータで更新したりしません。

JSONオブジェクトに問題があるようです。文字列に変更すると、毎回変更通知が表示されるためです...

JSON を生成してポリマー要素に渡す単純な「forceDB.js」スクリプトを作成しました。ポリマーへ.setAttribute('layout', data)の変更を通知し、ポリマー スクリプトのすべての子要素を更新するにはどうすればよいですか?

JSONオブジェクトは次のようになります

let data = {
  "a1":"",
  "a2":"",
  "a3":"",
  "b1":"",
  "b2":"",
  "b3":"",
  "c1":"",
  "c2":"",
  "c3":""
};

要素の私のポリマースクリプト側は次のようになります...

enter code here
<script>
  Polymer({
    is:'grid-layout',
    properties:{
      layout: {
        type: Object,
        reflectToAttribute : true
      },
      observers: 'layoutChanged(layout.*)'
    },
    setLayout: function(newdb){
    console.log('new - ' + JSON.stringify(newdb));
    this.set('layout', newdb);
    },
    layoutChanged: function(changedthing){
    alert("Layout Changed!");
    },
  });
</script>

ポリマーの重要なポイントを見逃しているか、何か間違っているのではないかと思います。しかし、私は単純な X と O のゲームを開発していて、ポリマー データ バインディングの原理を理解しようとしていますが、どこが足りないようです。

4

1 に答える 1

0

レイアウトプロパティが必要である可能性があります:

notify: true

また、レイアウト プロパティを HTML の子要素にデータ バインドする方法を確認すると役立つ場合があります。

于 2016-05-27T20:35:48.627 に答える