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

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

javascript - AngularJS でビューが更新されない

イベント コールバックでモデルを更新するときに、モデル プロパティを更新してもビューに影響はありません。これを修正するアイデアはありますか?

これは私のサービスです:

publish()関数がコントローラーに動的に追加されました。

コントローラ:

意見:

問題は、ボタンをクリックするとビューが適切に更新されることですが、チャネルからメッセージを取得しても何も起こらず、add()関数が呼び出されても

0 投票する
9 に答える
342333 参照

angularjs - angular.service と angular.factory の比較

サービスを宣言するためにangular.factory ()angular.service( )の両方が使用されているのを見てきました。ただし、公式ドキュメントのどこにも見つかりません。 angular.service

2つの方法の違いは何ですか?
どちらを何に使用する必要がありますか (異なることを行うと仮定して)?

0 投票する
4 に答える
69432 参照

angularjs - 現在のスコープをAngularJSサービスに渡す

「現在」$scopeをAngularJSサービスに渡すのは正しいですか?

$ serviceが1つのコントローラーによってのみ消費されていることを知っている状況にあり、$serviceメソッド自体でコントローラーのスコープへの参照が必要です。

これは哲学的に正しいですか?

または、イベントを$ rootScopeにブロードキャストしてから、コントローラーにそれらをリッスンさせる方がよいでしょうか。

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

javascript - Angular コントローラーとサービス - 成功とエラーのコールバック

既存の Web アプリ用に Angular でサービス レイヤーを構築しています。$http リクエストとデータ マッサージを Angular カスタム サービスに移動します。サービスの依存性注入の部分は理解していますが、成功/エラーに苦しんでおり、それをコントローラーに渡しています。

$q で promise を使用している人を見かけます。サービス呼び出しごとに単一の REST API 呼び出しを行っている場合、約束のためのより簡単な "then()" 構文はありますか? 注: バックエンドは非標準の REST であるため、$resource 戦略は機能しません。サービスからのプロミス/コールバックを処理する最新の推奨方法がわかりません。成功条件だけを考えれば、コールバックは簡単に思えます。サービスのこの側面をよく示している最近の素晴らしいサンプルアプリはありますか? または記事?

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

javascript - angularjs のサービスを介してディレクティブをコンパイルする

angular サービスを介してディレクティブをコンパイルしようとしていますが、残念ながら機能しません。アイデアは、ポップアップにエラーを表示することです。

$exceptionHandlerサービスを変更しました。

ポップアップサービスは次のようになります。

そして、これが$compileサービスをハードコードするのは良い考えではないと思います(しかし、角度でこれを実現する方法は思いつきません):

ポップアップ ディレクティブ:

これを行うには他の方法があるかもしれませんか?ありがとう。

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

angularjs - ページ上の特定のアンカー タグのみ自動スクロールを無効にする

テンプレートからのコンテンツを含む div を DOM に動的に挿入する AngularJS サービスと、テンプレート内のバインディングとディレクティブを処理するカスタム コントローラーを作成しました。と呼ばれるサービスを使用すると、およびをオプションとしてmyService渡すことができます。以下は単純化されたコードです。templateUrlcontrollerName

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 のバグですか? もしそうなら、そのバグが修正されるまで使用できる回避策はありますか?

編集:これは、問題を示すプランクです。