問題タブ [angular-services]
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 - AngularJS でビューが更新されない
イベント コールバックでモデルを更新するときに、モデル プロパティを更新してもビューに影響はありません。これを修正するアイデアはありますか?
これは私のサービスです:
publish()
関数がコントローラーに動的に追加されました。
コントローラ:
意見:
問題は、ボタンをクリックするとビューが適切に更新されることですが、チャネルからメッセージを取得しても何も起こらず、add()
関数が呼び出されても
angularjs - angular.service と angular.factory の比較
サービスを宣言するためにangular.factory ()とangular.service( )の両方が使用されているのを見てきました。ただし、公式ドキュメントのどこにも見つかりません。 angular.service
2つの方法の違いは何ですか?
どちらを何に使用する必要がありますか (異なることを行うと仮定して)?
angularjs - 現在のスコープをAngularJSサービスに渡す
「現在」$scope
をAngularJSサービスに渡すのは正しいですか?
$ serviceが1つのコントローラーによってのみ消費されていることを知っている状況にあり、$serviceメソッド自体でコントローラーのスコープへの参照が必要です。
これは哲学的に正しいですか?
または、イベントを$ rootScopeにブロードキャストしてから、コントローラーにそれらをリッスンさせる方がよいでしょうか。
javascript - Angular コントローラーとサービス - 成功とエラーのコールバック
既存の Web アプリ用に Angular でサービス レイヤーを構築しています。$http リクエストとデータ マッサージを Angular カスタム サービスに移動します。サービスの依存性注入の部分は理解していますが、成功/エラーに苦しんでおり、それをコントローラーに渡しています。
$q で promise を使用している人を見かけます。サービス呼び出しごとに単一の REST API 呼び出しを行っている場合、約束のためのより簡単な "then()" 構文はありますか? 注: バックエンドは非標準の REST であるため、$resource 戦略は機能しません。サービスからのプロミス/コールバックを処理する最新の推奨方法がわかりません。成功条件だけを考えれば、コールバックは簡単に思えます。サービスのこの側面をよく示している最近の素晴らしいサンプルアプリはありますか? または記事?
javascript - angularjs のサービスを介してディレクティブをコンパイルする
angular サービスを介してディレクティブをコンパイルしようとしていますが、残念ながら機能しません。アイデアは、ポップアップにエラーを表示することです。
$exceptionHandlerサービスを変更しました。
ポップアップサービスは次のようになります。
そして、これが$compileサービスをハードコードするのは良い考えではないと思います(しかし、角度でこれを実現する方法は思いつきません):
ポップアップ ディレクティブ:
これを行うには他の方法があるかもしれませんか?ありがとう。
angularjs - ページ上の特定のアンカー タグのみ自動スクロールを無効にする
テンプレートからのコンテンツを含む div を DOM に動的に挿入する AngularJS サービスと、テンプレート内のバインディングとディレクティブを処理するカスタム コントローラーを作成しました。と呼ばれるサービスを使用すると、およびをオプションとしてmyService
渡すことができます。以下は単純化されたコードです。templateUrl
controllerName
ng-click
複数のアンカー タグを処理する DOM に別のコントローラーがあります。
私は a を使用しておらず$routeProvider
、アンカータグに href 属性も id 属性もありません。クリック関数はカスタム サービスを呼び出して div をレンダリングします。
ページが Chrome ブラウザーに読み込まれ、下にスクロールして のリンクng-click
が表示されるようにし、リンクをクリックすると、ブラウザーがページの上部にスクロールします。ページをスクロールしたくありません。リンクの横に div を表示するだけです。場所の URL に変更はありません。下にスクロールすると、新しい div が表示されます。で別のリンクをクリックすると、ng-click
スクロールは行われません (これは最初のクリックでも必要でした)。ページを更新すると、どのリンクを最初にクリックしても関係なく、最初のクリックで常にブラウザがビューポートの上部にスクロールして戻ります。
新しい要素にディレクティブを配置せず、ng-include
代わりにテンプレートの HTML をサービスにハードコーディングすると、最初のクリックでページの上部にスクロールしません。
ngInclude のドキュメントには、オプションの属性を指定できると記載autoscroll
されており、属性が設定されていない場合は「自動スクロールが無効になる」と記載されています。そうではないようです。自動スクロールを「false」に設定しようとしましたが、それは役に立ちませんでした。
$anchorScrollProvider.disableAutoScrolling()
すべての自動スクロールを無効にできることはわかっていますが、特定のタグの自動スクロールを無効にするにはどうすればよいですか? これは報告すべき Angular のバグですか? もしそうなら、そのバグが修正されるまで使用できる回避策はありますか?
編集:これは、問題を示すプランクです。