問題タブ [angular-ngmodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parsing - ngModelController の datePicker と $parser 関数から日付を選択した後に変更イベントが発生しない
カスタマイズされたディレクティブでは、モデルからグレゴリオ暦の日付を取得して日付を変換し、それをペルシャの日付に変換してからユーザーに表示します。
ペルシャ日付への変換は persianDatePicker を使用して行われ、グレゴリオ日付への変換によってモデルが更新されます。私の問題は、DatePicker から日付を選択すると、NgModelController のパーサー関数が機能せず、日付の変更に反応しないことです。関連するJSファイルのDatePickerのOnSelectイベントで次の命令を使用しました
$("#" + inputId).change();
Link関数に関数を入れて、onSelectedJalaliDateという名前で呼び出しました
関連する JS ファイルで。
パーサー用に宣言された関数が呼び出されますが、モデルは更新されません。知っている人は、関数を呼び出してモデルを更新する方法を教えてください。私は firfox バージョン 29.0.1 を使用しました。
指令:
angularjs - AngularJS - 入力を複数のモデル要素にバインドする
私が求めているのは望ましいパターンではないことを知っていることを最初に言わせてください。それは一時的なパッチとして必要なものです。
単一の入力要素をモデル内の 2 つの「場所」にバインドできるようにしたいと考えています。例えば
ユーザー名を入力するための入力があり、モデルの 3 つのフィールドにデータを入力したいと
user
しusername
ますuser_name
。
衝突の場合に何が起こるかは気にしません...つまり、model.user='aaa'; and
model.username='bbb'` を割り当てた後は、一貫した動作であれば問題ありません。
私が考えることができる最も簡単なことは、ユーザーにバインドしuser
てから監視し、ユーザー名とユーザー名を更新することです。
おそらく、ng-model から独自のターゲットにコピーするディレクティブを作成できます...
これまたは私が使用できる/使用すべき他のトリックに ng-model を使用するスマートで簡単な高速な方法はありますか?
更新- 好奇心旺盛な人を満足させようとします。
次のシナリオでこれが必要です。
注:これはAngular用に設計されたものではありません.Angularに移行したいのですが、一度にすべてを変換することはできません.
アクションの選択があるフォームを考えてみましょう。その後、さまざまなアクションのさまざまなパラメーターのいくつかの入力があり、いくつかのフィールドは単一のアクションに共通しています。フィールドは、それらが属するアクションを表すクラスでタグ付けされ、JQuery を使用して、選択したアクションに基づいてフィールドを非表示および表示し、現在のアクションに属するすべてのフィールドから値を収集して、アクションが必要なときにそれらを使用します。実行されます。
今、私はアクションを異なる独立したフォームと異なるモデルに分離し始めたいと思っています.移行段階では、単一の入力を設定して複数のモデルを更新することができれば、最も簡単な方法だと思いました.
angularjs - angularjs モデルでフィールドを検索
特定の angularjs モデルに対応するフィールドをどうにかして見つけることはできますか? 1 つの変数に対応するフィールドが複数ある場合もあれば、まったくない場合もありますが、これは問題ではありません。
たとえば、文字列を取得して DOM 要素を返すinput ng-model=users[2].name
メソッドが必要です。"users[2].name"
ユーザー入力の一種のデモが必要なため、高速である必要はありません。たとえば、ユーザーが名前フィールドに入力する必要がある場合は、(マウスをシミュレートする) オーバーレイをそこに移動し、プログラムで入力します。シ
jquery を介して実行できますが、セレクターほど簡単ではないため、これはかなり面倒input[ng-model="user[0].name"]
です。それは通常ng-repeat="user in users"
、数レベルの深さに埋もれています。さらに悪いことに、 と が混在しng-repeat-start
ていng-repeat-end
ます。
ソリューションを変更users[2].name
してから、変更された DOM 要素を見つけることもおそらく問題ありません。
うまくいけば、私が望んでいたものを示すプランクを作成しました。
javascript - Angular.js - テキスト入力で ng-model が私の ng-value を上書きする
私はAngularに非常に慣れていないので、おそらく正しい「Angularの方法」で物事を行っていないことに言及することから始めます。
次の ng-repeat がいくつかのデータをループしています - 正しいデータが返されています。
何らかの理由で、input="text" フィールドの ng-value が表示されません。フィールドのデータを updateAttribute() 関数に渡す必要があるため、渡す attr 変数にモデルをバインドしています。その後、この変数は API 呼び出しに使用されます。
モデルをテキスト フィールドから外すと、正しい値が得られますが、その値を取得して関数に渡す人が必要です。
私がこれを行うべき別の方法がある場合は、私に知らせてください:)
angularjs - ngModelController フォーマッタを使用した Angular ディレクティブ
フィールドにフォーマッタを追加する単純なディレクティブを実装しようとしてい<input type="date">
ます。ディレクティブは次のようになります。
名前を に変更するまでは、かなりうまく機能していましたmb-date-format
。JS フィドルを作成しました: http://jsfiddle.net/HB7LU/4458/。aaa
、bbb
、などの名前で正常に動作するように見えますが、名前を、、 …ccc
に変更すると動作しなくなります。jjj
zzz
angularjs - AngularJS - デフォルトのドロップダウン選択オプション
この 1 つの問題は、簡単に修正できるように思われるため、私を悩ませています。
私はプレーンな HTML を使用していますが、データは角度を介して次のビューに渡されています。
コードのスニペットは次のようになります。
私が達成しようとしているもの:<option value="25">25-30</option>
角度荷重時にデフォルトで選択されたオプションとして持つ
私が試したこと:
属性を
<option value="25">25-30</option>
持つng-selected="age"
<span data-ng-show="isCountry()"> <select class="selectpicker" data-ng-model="age"> <option value="21">21-24</option> <option ng-selected="age" value="25">25-30</option> <option value="31">31 and up</option> </select> </span>
属性を
<option value="25">25-30</option>
持つselected="selected"
<span data-ng-show="isCountry()"> <select class="selectpicker" data-ng-model="age"> <option value="21">21-24</option> <option selected value="25">25-30</option> <option value="31">31 and up</option> </select> </span>
<option value="25">25-30</option>
最初に表示しようとしても<span data-ng-show="isCountry()"> <select class="selectpicker" data-ng-model="age"> <option value="25">25-30</option> <option value="21">21-24</option> <option value="31">31 and up</option> </select> </span>
オプション 2 と 3 ではvalue
I want が最初に表示されますが、次のオプションには渡されません。view
主な開発者が一時的に外出しているため、可能であれば、あまりAngularコードに触れたくない...
どんな助けでも大歓迎です。
ありがとう!