問題タブ [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.

0 投票する
1 に答える
754 参照

parsing - ngModelController の datePicker と $parser 関数から日付を選択した後に変更イベントが発生しない

カスタマイズされたディレクティブでは、モデルからグレゴリオ暦の日付を取得して日付を変換し、それをペルシャの日付に変換してからユーザーに表示します。
ペルシャ日付への変換は persianDatePicker を使用して行われ、グレゴリオ日付への変換によってモデルが更新されます。私の問題は、DatePicker から日付を選択すると、NgModelController のパーサー関数が機能せず、日付の変更に反応しないことです。関連するJSファイルのDatePickerのOnSelectイベントで次の命令を使用しました

$("#" + inputId).change();

Link関数に関数を入れて、onSelectedJalaliDateという名前で呼び出しました

関連する JS ファイルで。

パーサー用に宣言された関数が呼び出されますが、モデルは更新されません。知っている人は、関数を呼び出してモデルを更新する方法を教えてください。私は firfox バージョン 29.0.1 を使用しました。

指令:

0 投票する
1 に答える
2543 参照

angularjs - AngularJS - 入力を複数のモデル要素にバインドする

私が求めているのは望ましいパターンではないことを知っていることを最初に言わせてください。それは一時的なパッチとして必要なものです。

単一の入力要素をモデル内の 2 つの「場所」にバインドできるようにしたいと考えています。例えば

ユーザー名を入力するための入力があり、モデルの 3 つのフィールドにデータを入力したいと userusernameますuser_name

衝突の場合に何が起こるかは気にしません...つまり、model.user='aaa'; andmodel.username='bbb'` を割り当てた後は、一貫した動作であれば問題ありません。

私が考えることができる最も簡単なことは、ユーザーにバインドしuserてから監視し、ユーザー名とユーザー名を更新することです。

おそらく、ng-model から独自のターゲットにコピーするディレクティブを作成できます...

これまたは私が使用できる/使用すべき他のトリックに ng-model を使用するスマートで簡単な高速な方法はありますか?

更新- 好奇心旺盛な人を満足させようとします。

次のシナリオでこれが必要です。

注:これはAngular用に設計されたものではありません.Angularに移行したいのですが、一度にすべてを変換することはできません.

アクションの選択があるフォームを考えてみましょう。その後、さまざまなアクションのさまざまなパラメーターのいくつかの入力があり、いくつかのフィールドは単一のアクションに共通しています。フィールドは、それらが属するアクションを表すクラスでタグ付けされ、JQuery を使用して、選択したアクションに基づいてフィールドを非表示および表示し、現在のアクションに属するすべてのフィールドから値を収集して、アクションが必要なときにそれらを使用します。実行されます。

今、私はアクションを異なる独立したフォームと異なるモデルに分離し始めたいと思っています.移行段階では、単一の入力を設定して複数のモデルを更新することができれば、最も簡単な方法だと思いました.

0 投票する
3 に答える
2797 参照

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 要素を見つけることもおそらく問題ありません。

うまくいけば、私が望んでいたものを示すプランクを作成しました。

0 投票する
1 に答える
8483 参照

javascript - Angular.js - テキスト入力で ng-model が私の ng-value を上書きする

私はAngularに非常に慣れていないので、おそらく正しい「Angularの方法」で物事を行っていないことに言及することから始めます。

次の ng-repeat がいくつかのデータをループしています - 正しいデータが返されています。

何らかの理由で、input="text" フィールドの ng-value が表示されません。フィールドのデータを updateAttribute() 関数に渡す必要があるため、渡す attr 変数にモデルをバインドしています。その後、この変数は API 呼び出しに使用されます。

モデルをテキスト フィールドから外すと、正しい値が得られますが、その値を取得して関数に渡す人が必要です。

私がこれを行うべき別の方法がある場合は、私に知らせてください:)

0 投票する
2 に答える
120 参照

angularjs - ngModelController フォーマッタを使用した Angular ディレクティブ

フィールドにフォーマッタを追加する単純なディレクティブを実装しようとしてい<input type="date">ます。ディレクティブは次のようになります。

名前を に変更するまでは、かなりうまく機能していましたmb-date-format。JS フィドルを作成しました: http://jsfiddle.net/HB7LU/4458/aaabbb、などの名前で正常に動作するように見えますが、名前を、、 …cccに変更すると動作しなくなります。jjjzzz

0 投票する
2 に答える
726 参照

angularjs - AngularJS - デフォルトのドロップダウン選択オプション

この 1 つの問題は、簡単に修正できるように思われるため、私を悩ませています。

私はプレーンな HTML を使用していますが、データは角度を介して次のビューに渡されています。

コードのスニペットは次のようになります。

私が達成しようとしているもの:<option value="25">25-30</option>角度荷重時にデフォルトで選択されたオプションとして持つ

私が試したこと:

  1. 属性を<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>

  2. 属性を<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>

  3. <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 ではvalueI want が最初に表示されますが、次のオプションには渡されません。view

主な開発者が一時的に外出しているため、可能であれば、あまりAngularコードに触れたくない...

どんな助けでも大歓迎です。

ありがとう!