問題タブ [ng-dialog]
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.
javascript - ng-template からのアクセス スコープ
AngularJS を使用して、 内からスコープ変数にアクセスしたいと考えています<script type="text/ng-template"
。
isFrench
私のコントローラーからisEnglish
の2つのブール値です。
currentCartography
とについても同じでcurrentLanguage
、コントローラーからの文字列です。
コントローラーの内外でゲッターも試しましたが、同じ結果でした。
ng-dialog - ngdialog で事前クリック状態を回避する方法
ページにコンテンツを表示するために ngDialog を使用していますが、何らかの理由でダイアログの頭がクリック前のビューに表示されます。
javascript - JavaScript Promise 内で自動的に呼び出される関数
私はJavascriptの約束にかなり慣れていないので、GoogleまたはStack Exchangeを介して何も追跡できないという問題に直面しています。プロミスからチェーンされた .then で関数を参照する場合、元のプロミスが解決される前に自動的に実行されるのを停止するために、その関数を無名関数でラップする必要がある場合があります。たとえば、私のコードが
dialogService.Confirm から Promise を解決する前に、advertiserService.deleteAdvertiser への呼び出しが自動的に発生します。ただし、次のように書くと
期待どおりに動作します。advertiserService.deleteAdvertiser の呼び出しは、dialogService.Confirm の約束を解決するまで発生しません (この場合は、確認ダイアログ内の [削除] ボタンをクリックします)。
dialogService は、promise を返す ngDialog の .openConfirm メソッドを使用します。この promise が正しく返されることを確認しました。なぜこれが起こっているのかについての私の最善の推測は、UI から広告主オブジェクトを渡す必要があるということです (関数は最初にごみ箱ボタンの ng-click を介して呼び出されます)、advertiserService.deleteAdvertiser(advertiser )-- つまり、引数が渡されます-- つまり、JS は、後で最初の promise が解決されたときに使用する参照を保存するのではなく、読み取るとすぐにその関数呼び出しを実行することを意味します。
最初のコード ブロックが機能しない理由について、私の理解は正しいでしょうか? 匿名関数でラップすると違いが生じるのはなぜですか? そして、これらの約束を連鎖させる正しい(または少なくともより良い)方法はありますか?
ありがとうございました!
angularjs - ngDialog.open イベントは新しいコントローラーを作成していますか?
ユーザーがクリックして一部の情報の詳細を表示するリンクがあります。このクリックにより、次のような ng-dialog open イベントが発生します。
ダイアログが開かれると、リスナーは MetaController の他の情報を取得します。
ユーザーが最初にリンクをクリックすると、正常に機能します。コントローラーの関数が呼び出され、バックエンドから情報が取得されます。しかし、ユーザーがダイアログ ウィンドウの外側をクリックしてリンクを再度クリックすると、コントローラーのメソッドが 2 回呼び出されます。ユーザーがダイアログをもう一度「閉じて」リンクをもう一度クリックすると、コントローラーのメソッドが 3 回呼び出されます。ダイアログが非表示のままのようで、ユーザーがリンクをクリックするたびに、新しいダイアログが開き、別のコントローラーが作成されます。なぜそれが起こるのですか?ユーザーがダイアログの外をクリックした後、他のダイアログを実際に閉じる必要があります。
google-chrome - モーダル ウィンドウ (ngDialog) を表示するときの Chrome/Webkit UI の再描画の問題
Cordova、Bootstrap、Angular JS (1.3.x) を使用してハイブリッド アプリを作成し、Chrome デスクトップ ブラウザーと Android デバイス (ロリポップ、5.0.2) でテストしています。
特定のビューで、 ngDialogを使用してモーダル ウィンドウを開きます。このダイアログのコンテンツは、一般的なスマートフォン サイズの高さを超える可能性があるため、垂直スクロールが必要です。そして、ここに問題があります:
ダイアログの下部に (最初の視界の外に) 表示されるべき要素のほとんどが表示されないか、レンダリングされません。消えたインタラクティブ要素があるはずの領域をやみくもにタップすると、それらがペイントされます。もう一度上にスクロールすると、上部の要素が消えます。 この動作は、Android 4.4 には存在しませんでした。
これで、Windows Chrome ブラウザー (v43) でこのエラーを再現できるようになりました。
手順は次のとおりです。
- この Plunkr を実行しますhttp://embed.plnkr.co/VGYUe2i9vwsQZ21vc3LB/preview
- 最近の Chrome バージョンでテストする
- このプランカーが埋め込みビューに表示されていることを確認してください (重要)
- Chrome デベロッパー ツールを開く
- 「Toggle device mode」(スマホアイコン)をクリック(重要)
- 縦の解像度を高さ約600pxに制限します「ダイアログを開く」をクリックし、一番下までスクロールします
- 「こんにちは、見えますか?」と読めますか??
- そうでない場合は、テキスト ボックスの上または下にあるパネルのいずれかを押すと、再描画が行われ、テキストが表示されます。
これはどのように見えるかです:
OK ではありません -> マークされた赤いボックスにテキストがありません:
OK - >それをクリックするか、ブラウザのタブを切り替えた後
郵便配達員のブログでこの記事を見つけましたが、私の場合、「修正プログラム」が機能していないようです。 http://blog.getpostman.com/2015/01/23/ui-repaint-issue-on-chrome/
誰かが私を正しい方向に向けることができますか?
javascript - ngDialog open の条件に基づいて css を適用する
またはであるという条件isErrored
に基づいてクラスを適用する方法。true
false
以下のコードは機能していません。
angularjs - ngdialog テンプレートが開かれています
Angular と共に mvc4 アプリケーションでポップアップを表示するために、プレーンな ng-dialog を使用しています。ここに私のコードがあります
以下のようにポップを開こうとしています
私のテンプレートは
私はhttp://ngmodules.org/modules/ngDialogを参照しています
AngularJS は、事前定義されたスクリプト テンプレートでポップアップを表示せず、テンプレート ID を mvc4 のアクションとして使用しています。