問題タブ [ng-switch]
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.
angularjs - ng-switch使用時にコントローラーのリロードを防ぐ方法
この例では、ng-switchを使用して、異なるビューを切り替えることができます。各ビューにはコントローラーが割り当てられます。
ここに簡単なサンプルをオンラインで掲載しました:http://jsfiddle.net/FBHjZ/1/
ビューを切り替えるたびにコントローラーが復元されているようです。入力フィールドに値を入力し、ホームに戻って設定に戻ると、値が失われます。
どうすればこれを防ぐことができますか?基本的に、私が欲しいのは、ビューを切り替えるときに前のビューの状態を維持することです。
angularjs - AngularJS: OR を使用した ng-switch-when
ng-switch-when で OR を持つことは可能ですか?
そうでない場合、どのようにして上記を達成できますか?
ありがとう :)
javascript - Angularjs: tr タグの ng-repeat と ng-switch
AngularJS を使用して、イベント リストのテーブルを作成しようとしています。ただし、各イベントにはタイプがあり、タイプの異なるイベントは内容が大幅に異なり、タイプによっては複数の行が生成されることもあります。
完璧な世界では、次のようにします。
ただし、ほとんどのブラウザーは ng タグを破棄または再配置して、tbody に trs のみが含まれるようにするため、これは機能しません。
関連する問題 ( html 要素なしで ng-repeat を使用する方法) に対して私が見た唯一の解決策は、複数の tbody 要素を持つことです。私はそれをしたくないのですが、tbody に ng-repeat および ng-switch 属性を与えてこれを行ったとしても、複数の tr を 1 つの ng-switch-when にラップできないという問題がまだあります。 .
AngularJS でこれを行う方法はありますか、それとも不可能ですか?
angularjs - ng-switchは常にtrue
ul
空の場合はsを非表示にします。
ただし、コンテンツに関係なく非表示にはなりません。ng-switch on
これはデータ構造です:
angularjs - 同じ要素での ng-switch と ng-repeat の干渉
予期しない Angular の動作に遭遇しました。この投稿の目的は、これがバグなのか意図されたものなのか、そして意図された理由を説明することです。
まず、この Plunkr を参照してください: http://plnkr.co/edit/CB7k9r?p=preview。この例では、3 つのオブジェクト エントリを持つ array という配列を作成しました。さらに、入力フィールド (トグルと呼ばれる) の内容に基づいて ng-switch を作成しました。toggle の値が 1 の場合、配列内のオブジェクトのすべての名前を "1" で始まるか、それ以外の場合は "other" で始まるように出力する必要があります。
これは意図したとおりに機能せず、エラーが表示されます。
ただし、同じ例を書き直して ( http://plnkr.co/edit/68Mfux?p=preview )、リストの周りに追加の div を追加し、ng-switch をこの div に移動し、ng-switch-when を li から に移動しました。 ul (ng-repeat と ng-switch-when を分離する) は意図したとおりに機能します。
誰かがこれがなぜなのか説明できますか?
angularjs - レイアウトの問題の ng-switch 要素
ng-switch を使用して、レイアウトにフィルタリング入力フィールドを作成しています。ルート名をオンにして、このフィールドを使用して各ページの ng-repeat のデータをフィルタリングします。
このアプローチの問題は、あるページで入力した値が、他のルートに移動したときに保存されたままになり、他のページでもデータをフィルター処理することです。組み込みの角度検索フィルターを使用しているため、モデル名が付けられています。
ルート変更時にフィルターの値をどうにかしてリセットできますか?
もう 1 つの問題は、この $parent.$parent スコープへのアクセスが実用的ではないことですが、より洗練された方法を見つけることができませんでした。
どんなヒントでも大歓迎です!
angularjs - anglejs-ng-switchはng-modelをバインドしません
この再現http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrqを使用すると、「Title3」をクリックしてテキストボックスに値を入力すると表示されますが、入力した値はUIに反映されますが、「クリック」ボタンをクリックすると何も表示されません。スコープ属性$scope.testにバインドされています。
ng-switchの何が問題なのかわからないか、何か問題が発生している可能性があります。ヘルプをいただければ幸いです!!!
angularjs - 空の要素パラメーターで呼び出された Angular ディレクティブのリンク関数
ディレクティブのlink
関数が空のelement
パラメーターで呼び出されてエラーが発生するシナリオがあります。
コード例は、シナリオを最もよく説明しています。
index.html:
スクリプト:
partial.html (上記のtemplateUrl
onouter
で参照):
Chrome で index.html をロードすると、コンソールに「TypeError: 未定義のプロパティ 'offsetTop' を読み取れません」というエラーが報告されますelement
。
いくつかのメモ:
replace
ディレクティブで true に設定する必要がありますouter
。templateUrl
outer
パーシャルをロードするには、ディレクティブで使用する必要があります。
構成要件を見落としているのか、それとも Angular の問題なのかはわかりません。これは有効なシナリオですか? もしそうなら、それは ng-switch の問題ですか、それとも Angular 内により深い問題がありますか?
javascript - ng-switch を使用した Angular フォーム
フォームの名前を取得するときに、コントローラーのスコープからフォーム オブジェクトを取得しようとしています。正常に動作しますが、ng-switch でフォームを作成すると、フォームがスコープに表示されません。
景色
コントローラー
ng-switch を削除すると、$scope から "theForm" プロパティがフォーム obj として表示されます。
それを行う方法についてのアイデア。2 つのフォームに異なる名前を付けて ng-show を使用したくありません。
これが「機能しない」例です http://plnkr.co/edit/CnfLb6?p=preview