2016-05-11 5 views
0

ボタンにng-clickハンドラを追加しようとしています。 どうすればいいですか?私は以下のコードを試しましたが、それは 作業ではありません、任意の助けに感謝します。次のボタンのjqueryスマートウィザードでngクリックハンドラを動的に追加する方法

btNext = $('<a>' + options.labelNext + '</a>').attr("href", "").addClass("buttonNext"); 
$('.buttonNext').attr('ng-click', 'LoadSecondDivDetails()'); 

答えて

1

AngularJSは一度あなたのコードをコンパイルするので、これは動作しません。

ng-clickを動作させるには、もう一度コンパイルするように指示する必要があります。

$compileプロバイダを使用してを指定してください。AngularJSあなたのhtml部分を再コンパイルしてください。あなたのケースでは

btNext = $compile('<a ng-click="your_action()"></a>')($scope); 
0

angularJSとjQueryを混合は推奨されません。 AngularJSは既にDOM要素を処理しており、あなたは本当にいくつかの望ましくない動作に終わる可能性があります。ウィザード全体をnJShow/ngHideを使用してangularJS形式で保存し、ウィザードのウィザードフォームを作成します。次に変数をng-showにスコープするだけで

ng-show="currentPage == 1" 

を入力し、ウィザードの次のセクションに変更する機能を実行することができます。

ng-submit="loadNext(2)" 

あなたはこのすべてを処理する関数を持っています。何かのように

$scope.loadNext = function() { 
    $scope.currentPage += 1; 
}; 

$scope.goBack = function() { //this can be your back button 
    $scope.currentPage -= 1; 
};