私のフォームで作業中のディレクティブを作成しようとするのは本当に苦労しています。 私は古いブラウザの互換性を維持するためにプラグインを使用する必要がある日時フィールドを持っています。 Angularjsディレクティブが親スコープを更新していません
この
は 私が達成しようとしている何app.directive('dateTimePicker', function(){
return {
restrict : 'AE',
scope : {
value : '='
},
link : function($scope, element, attrs){
element.bind('blur', function(){
$scope.value = element.val();
$scope.apply;
});
}
}
});
これは私の指示である私のhtml
<input ng-model="search.endDate" type="text" date-time-picker value="search.endDate" class="form-control">
です:親スコープで 私は$ scope.search.endDate、どの後で送信される日付を格納します。
私はテンプレートなしでディレクティブを使用したいと思うし、そのフィールドの値を変更するたびに、親スコープの値が更新されます。
私の問題: 上記のコードは2016年8月25日12:21に変換私は、プラグインから日時を選択することができるよ特定のポイント、まで働いているが、 $ scope.applyは初めての動作です。つまり、プラグインから別の日時を選択すると、親スコープ変数は更新されなくなります。
フィールドの値を変更して、変更を親スコープに伝播する方法はありますか?
私は間違っていますか?
EDIT1:
element.bind('blur', function(){
$scope.value= element.val();
$scope.$apply();
});
適用は関数です... $ scope。$ apply()。 – Ruhul
omg、私は非常に愚かなatm感じ、私は解決策を見つけることを試みる多くの時間を失った、私はstackoverflowの質問の束を読んだ。そして、私が必要としていたのは、$ scopeの代わりに$ apply()を呼び出すことでした。 – user1195961