2016-09-16 12 views
0

Ia m Angularで新しいですが、私はJqueryで動作することを知っています、私はAngular指令にいくつかの関数を変換することに問題があります。誰かがそのことについて私を助けることができ、これはJqueryを角度指令に変換する

$('.spinner .btn:first-of-type').on('click', function() { 
    $(this).closest('.spinner').find('input').val(function(i, v) { 
    return parseInt(v, 10) + 1; 
    }); 
}); 
$('.spinner .btn:last-of-type').on('click', function() { 
    $(this).closest('.spinner').find('input').val(function(i, v) { 
    return parseInt(v, 10) - 1; 
    }); 
}); 

答えて

0

AngularJSはjQLiteと呼ばれるのjQueryのそれ自身のストリップダウンバージョンに付属している私のjqueryの関数です。あなたはそのようにそれを使用することができます:

angular.element(<selector>).<operation> 

あなたはより多くのドキュメントhere

注見つけることができます:あなたは、通常のjQueryを使用する必要はありませんが。 jQueryはAngularでうまく動作しますが、ディレクティブを使用してAngularスタイルの開発とDOM操作をもっと使いたいと思っています。

+0

私はそれを知っている、あなたは完全な答えを作ることができます –

1
angular.module("yourmodulname").directive("spinnerDirective", spinnerDirective); 

function spinnerDirective(){ 
    return { //Edit -1 
restrict:"A", //restrict the directive to the attribute 
link: "spinnerDirectiveLink" 
    }//Edit-1 
} 

function spinnerDirectiveLink(scope, element, attribute){ 


$('.spinner .btn:first-of-type').on('click', function() { 
     $(this).closest('.spinner').find('input').val(function(i, v) { 
     return parseInt(v, 10) + 1; 
     }); 
    }); 
    $('.spinner .btn:last-of-type').on('click', function() { 
     $(this).closest('.spinner').find('input').val(function(i, v) { 
     return parseInt(v, 10) - 1; 
     }); 
    }); 

} 

HTML

<p spinner-directive></p> 

あなたの質問は、タスクに明確ではないので、これは我々がディレクティブを書き留め一般的な方法です。ここからあなたの仕事に変換するために引き継ぐ必要があることを願っています。

+0

JS –

+0

に誤りがあります。https://jsfiddle.net/x8d3sbe6/ –

+0

私の答えを編集しています。ディレクティブ関数でリターンを追加し、右クリックしてconsole.logをチェックすると、その要素が選択されたことがわかります。 –