0

ionSlideBox でスライドを反応的に追加/削除するのに助けが必要です。私が取得しようとしている機能は次のようなものです: ユーザーは 1 つ以上の「製品」を追加できます。各製品エントリはスライドです。これらのスライド(製品)がすべて追加されると、データは最終的に保存されます。まず、ionSlideBox には 1 つのスライドしかありません。ユーザーが「プラス」ボタンをクリックすると、もう 1 つのスライドが追加されます。

{{#ionView}}
    {{#ionContent}}
      {{#ionSlideBox}}
          {{#each dynamicSlides}}
            {{#ionSlide}}
               <h4>Product #{{count}}</h4>
               {{! form to accept productInfo }}
            {{/ionSlide}}
          {{/each}}
      {{/ionSlideBox}}
    {{/ionContent}}
  {{/ionView}}  

Session.setDefault('slideCounter', 1);

Template.addProductList.helpers({
  dynamicSlides: function() {
    var counter = Session.get('slideCounter');
    TempData.insert({"count": counter, "productInfo": {} });
    return TempData.find();
  }
});

Template.plusButton.events({
  'click button#add-one-more': function() {
    Session.set('slideCounter', Session.get('slideCounter') + 1);
    TempData.insert({"count": Session.get('slideCounter'), "productInfo": {} });
  }
})

ただし、余分なスライドはionSlideBoxに反応的に追加されません。このビューにはデフォルトの「Product #1」が表示されていますが、plusButton イベントを通じてさらに多くのスライド (製品) が追加されています。ここで何かがおかしいことはわかっていますが、何が原因なのかわかりません。ヘルプ/ポインタは本当にありがたいです。

また、Meteor で $ionicSlideBoxDelegate と同等のメソッドを使用するにはどうすればよいですか? 具体的には、ionic-angularar の$ionicSlideBoxDelegate.update() に相当する Meteor は何ですか?

ありがとう。

4

1 に答える 1

0

Meteoric はSlickを使用してionSlideBox を実行しています。

スライドをリアクティブに追加するには、 collection.observe を使用してコレクションの変更を処理する必要があります

Template.yourTemplateName.onCreated(function() {
  yourCollection.find().observe({
    added: function (document) {
      var $slideBox = $('.ion-slide-box');
      var html = "your html here";
      $slideBox.slick('slickAdd',html);
    }
  });
});
于 2015-09-13T09:42:05.177 に答える