入力要素でangularjsフィルタを使用する
2023-11-13 12:35:23
質問
私は、ドキュメントの中で明白な何かを見逃していなければいいのですが、もし見逃していたら、誰かが助けてくれると思います。
私は、日付フィールドを持つ DTO を返すために asp.net webapi を使用しています。これらは JSON.Net を使用してシリアル化されています (フォーマット '2013-03-11T12:37:38.693')。
INPUT要素でフィルタを使用したいのですが、これは可能ですか、それともこれを達成するために新しいフィルタまたはディレクティブを作成する必要がありますか?
// this just displays the text value
<input ui-datetime type="text" data-ng-model="entity.date" />
// this doesn't work at all
<input ui-datetime type="text" data-ng-model="{{entity.date|date:'dd/MM/yyyy HH:mm:ss a'}}" />
// this works fine
{{entity.date|date:'dd/MM/yyyy HH:mm:ss a'}}
私が見逃しているショートカットはありますか?
どのように解決するのですか?
簡単に言うと、ビューとモデルで異なる表現を持つデータを作成したい場合、ビューとモデルで異なる表現を持つための ディレクティブが必要です。 と考えることができます。 双方向フィルタ .
あなたのディレクティブは次のようになります。
angular.module('myApp').directive('myDirective', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ngModelController) {
ngModelController.$parsers.push(function(data) {
//convert data from view format to model format
return data; //converted
});
ngModelController.$formatters.push(function(data) {
//convert data from model format to view format
return data; //converted
});
}
}
});
HTMLです。
<input my-directive type="text" data-ng-model="entity.date" />
以下は、動作中の jsFiddle の例です。
関連
-
[解決済み] 適用がすでに進行中のエラー
-
AngularJS がエラー $digest already in progress を報告する
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] Chromeを使用してASP.NET Web APIがXMLの代わりにJSONを返すようにするにはどうすればよいですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] 入力フィールドにフォーカスを当てるには?
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
-
[解決済み】AngularJSのスコーププロトタイピング/プロトタイピング継承のニュアンスとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angularjs accordion ng-click on panel-header
-
[解決済み] オブジェクトと選択機能を備えたAngularJS BootstrapUI Typeahead
-
[解決済み] Angular UI-Routerのマルチビュー
-
[解決済み] ディレクティブ '...' が要求するコントローラ 'ngModel' が見つかりません。
-
[解決済み] AngularJS の ng-disabled ディレクティブに式を指定しても動作しない
-
[解決済み] Angularのui-routerでデフォルトの状態を設定する方法
-
[解決済み] Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
-
[解決済み] angularJSの::の意味するところ
-
[解決済み] コントローラでフィルタを使用するには?
-
[解決済み] 子コントローラから親スコープにアクセスするAngularJS