2016-05-26 6 views
0

私はコンボボックスdatepickerとドロップダウンリストのようなネイティブの剣道UIにフローティングラベルを追加しようとしています。私のチームが望んでいる現在のアプローチは、他の入力のためのテキストボックスと剣道UIのng-modelがtextinput変更イベントを発生させない

を角度metarialを使用することです私はいくつかの部分に問題を抱えている:(ここでの主な問題がある)現在

<input type="text" ng-model="testmodel" /> 
<script> 
    $("input").change(function(){ 
     //i want this event to fire even when you change the text input 
     //by changing the value of $scope.testmodel 
    }); 
</script> 

、変更イベントは、ユーザーがインタフェースで入力したテキストの値を変更した場合にのみ発生します。 angularjsコントローラの$ scope.testmodelにアクセスして入力値を変更してもjquery.changeイベントは発生しません

答えて

0

jQueryと角度を混合しないようにしてくださいください

$scope.$watch('testmodel', function(newValue, oldValue) { 
    // do things in here when it changes 
}); 

:あなただけの構文としてコントローラ$スコープを使用していない場合、その場合には、その後、あなたはこれを持っているでしょう。それは、特にアプリがより複雑になるにつれて、乱雑になることがあります。

参考:https://docs.angularjs.org/guide/scope

+0

次に、すべてのモデルに$ watchを追加する必要がありますか? – anaval

2

あなたはこのためにng-changeディレクティブを使用することができます。

<input type="text" ng-model="testmodel" ng-change="do()" /> 
+0

の目的は、ng-expressionsを個別に指定することなくグローバル関数を作成することです。角度材料のに似ています。ここでは、ラベルとネイティブ anaval

関連する問題