2016-09-02 7 views
0

私は、スタイル、テキスト、およびバックし、次のボタンの機能を変更するカスタムテンプレートと角度・ブートストラップの(ui.bootstrap)UIB-カルーセル・コンポーネントを使用しています。コンポーネントの元の機能に加えて、「次へ」ボタンを押したときに他の操作を実行する必要があります。この答えのselectイベントを「取得」する方法:How do you Bind to Angular-UI's Carousel Slide Events?に続いて、次のイベントを使用するように答えを修正しました。UIブートストラップ制御UIB-カルーセルバインド次のイベントに

HTML宣言

<uib-carousel template-url="/tpl.html" active="vm.wizardStep" no-wrap="true" on-carousel-next="vm.onNext()" style="height: 395px;"> 

ので

.directive('onCarouselNext', function($parse) { 
    return { 
    require: '^uibCarousel', 
    link: function(scope, element, attrs, carouselCtrl) { 
     var callBack = $parse(attrs.onCarouselNext); 
     var origNext = carouselCtrl.next; 
     carouselCtrl.next = function() { 
     callBack(scope); 
     return origNext.apply(this, arguments); 
     }; 
    } 
    }; 
}); 

UIB-カルーセルの次のイベントのようなディレクティブは、解雇んが、それは私の指示によってそれを呼び出していません。ただ、リンゴにリンゴを比較するために、私はそのままである(すなわち、「選択」イベントをキャプチャ)の答えのコードを使用してみました、それは完璧に動作し、私のコールバック関数を呼び出しありません。私は、「ウィザード」タイプのフレームワークを設定し、これを使用していて、最後の「次」が必要であることを「済」であるので、私は「次」をキャプチャする必要があると、「選択」を使用することはできません理由があります別のコードを行う。

誰もがこのような何かを行われ、それが仕事を得ますか?

答えて

0

カルーセルコントロールを「ハイジャック」してウィザードコントロールに入れようとしていたのを見て、カルーセルコードを取り出して自分のニーズに合わせて完全に変更しました。誰かがコードを見たいと思っているなら、私に知らせてください。そして、私はgithubに出します。

+0

あなたはそのコードを共有していただけますか?私は今、かなり私は上だプロジェクト用にカスタマイズされたもの –

+0

@AnishV、。しかし私は、それが私の正確なフォームファクターの仕様に合わせて調整されていないようにそれを掃除しようと考えて、Githubに出します。私がしたときにお知らせします。 – Shaggy13spe

+1

@AnishV私は自分のコードを完全に "浄化する"時間がありませんでしたが、ここではディレクティブのコントローラコードです。必要以上に慣れ親しんだテンプレートを作成することができるはずです(しかし、私はもっと一般的なものを持っていれば追加します)。 https://github.com/Shaggy13spe/ngWizard – Shaggy13spe

関連する問題