0

私のノックアウト アプリには、次の構造に似た部分があります。

<section class="container">
  <section class="percent-sizes">
     <article class="d3Graph"></article>
  </section> 
  .
  .
  .
  <section class="percent-sizes">
     <article class="d3Graph"></article>
  </section> 
</section>

これら<sections>は動的で、その場で作成できます。

基本的に、画面の数に応じて、画面のパーセンテージ<sections>部分を占めるものがたくさんあります。次に、それぞれにd3グラフがあり、それらを描画するにはピクセルサイズを知る必要があります。

これらの各セクションには独自の ViewModel があり、コンテナーには独自の ViewModel があり、その子の observableArray を維持します。

新しい<section>ものが作成されたら、ノックアウトを介して幅/高さを知り、<sections>それらを再描画する必要があります。

これに対するノックアウトのベスト プラクティスは何ですか? (パーセンテージを手動で計算したり、jquery セレクターを使用して要素を検索したり、それらの高さを手動でクエリしたりしたくありません。)

4

1 に答える 1

0

それらをすべてobservableArray内に含めて、高さを次のような計算値として設定しないのはなぜですか-

function whateverViewModel() {
    var self = this;
    self.height = ko.computed(function () {
        return (1 / sectionContainer.length);
    });
}

var sectionContainer = ko.observableArray();

sectionContainer.push(new whateverViewModel());

<section data-bind="style: { height: height }"></section>
于 2013-10-16T18:20:36.183 に答える