問題タブ [restangular]

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 に答える
195 参照

javascript - ファクトリ モデルへの $scope モデル参照の変更時に DOM を強制的にレンダリングする

AngularJS 1.2.0 を使用して、websocket を介して単純なメッセージング アプリを作成しています。HTML は、リストに対して ng-repeat を使用して、合計出力 (入力しているメッセージの配列) を生成しています。ファクトリを使用して「プライベート」データとメソッドをホストし、ビュー モデルと関数のみを公開してコントローラー内のデータを操作しています。

Service['view'] の出力配列が新しいメッセージを取得したときに DOM の ng-repeat が更新されないことを除いて、すべてが正常に機能しています。このスレッドのソリューションとして $watchCollection を使用してみました: AngularJS : The correct way of binding to a service propertiesですが、これも機能しません。DOM を再レンダリングする唯一の方法は、入力テキストを変更するか、CSS でホバー状態をトリガーして強制的に再レン​​ダリングすることです。

この設定で、プロミスが新しいメッセージ データで解決され、出力配列にシフト解除されるとすぐに DOM がレンダリングされるように、ダイジェストをトリガーする最良の方法は何でしょうか? $rootScope を使用してイベントを発生させないようにしたいのは、他のコントローラーがファクトリを使用すると非常に汚れる可能性があるためです。

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

javascript - Restangular がモデル ID を追加しているため、Angular で Restangular を使用してモデルを編集すると PUT が壊れます

Angular アプリの編集ビューを作成しようとしています。CRUD 操作を処理するためのサービスとして Restangular を使用しています。

ここのプランカーは素晴らしい例です: http://plnkr.co/edit/d6yDka?p=preview&codekitCB=406920728.784061

しかし、私は解決を使用するつもりはありません。私はコントローラーに渡す約束を得ることができませんでした。

大したことではありませんが、詳細ビューの場合と同じように、コントローラーで単一の get を実行するだけです。

フォーム フィールドが適切に表示されます。ただし、編集を保存するために PUT を実行すると、URL にモデル ID が追加されるため、次のことが効果的に行われます/api/tasks/33/33。PUT がデータを送信するパスにモデルの ID を追加しないようにするにはどうすればよいですか?

.put()のようなものでオーバーライドできると思います.put('tasks/' + $routeParams.taskId)。しかし、それはうまくいきません。もちろん、それは Restangular root_api が設定されていることを前提とし/api/ています。.put("tasks/" + $routeProvider.taskId)しかし、コンテンツを分割してAPIのURLに追加しようとすると、404エラーが発生します。

では、Restangular が URL に ID を追加するのを止めるにはどうすればよいでしょうか? または、何か間違ったことをしている場合、どうすればこれを正しい方法で行うことができますか?

参照用の私のコードは次のとおりです。

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

angularjs - angularjs で自動保存ディレクティブを作成する

自動保存機能を他のディレクティブにアタッチする属性としてディレクティブを作成したいと考えています。渡された属性 (モデル) を監視するディレクティブを作成することを考えました。debounce 関数は lodash からのもので、各キーストロークでの実行を防ぎます。put メソッドは resangular モデルからのものです。

これまでの私の考え

しかし、私はこれを機能させませんでした。それから、これを私の再角化モデルに入れるほうがよいと思いましたが、そこにはスコープがありません。この自動保存機能を適切に追加するにはどうすればよいですか? スコープ内のどのオブジェクトが監視されるかを定義し、それに監視をアタッチして、変更に関する更新を取得できるようにする必要があります。

編集:アイデアを示すプランカーを作成しました:

http://plnkr.co/edit/I8GK8zHV8fOXY0zMa1AL?p=preview

両方のディレクティブにスコープを設定しようとしましたが、これは許可されていないというエラーが発生しました。(2 つの独立したスコープのようなものは許可されません)

属性ディレクティブで分離スコープを作成できますか?

基本的に、モデルを自動保存ディレクティブに渡す必要があります

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

rest - AngularJS の行が空のデータで表示される

angularJSをテストしています。

私が持っているapp.jsで

そしてhtmlで私は持っています

私が直面している問題は、データが表示されていない空の行が表示されていることです。この理由は何でしょうか?

編集 1

サーバーから返された JSON

Chrome ブラウザからのコンソール ログ

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

javascript - angularjsバインディングは、GET呼び出しを行わない限り表示されません

これが私の状況です。アプリに「編集」画面があります。この画面をロードするために、window.postMessage イベントを介してオブジェクトを渡しています。編集ページのコントローラーでこの postMessage イベントをリッスンし、渡されたオブジェクトを「患者」というスコープのプロパティに割り当てています。次に、編集ページのマークアップで、ng-repeat を使用して「患者」オブジェクトの配列にバインドしています。問題は、受信したデータを表示するためにページが更新されないことです。
コントローラーでのイベント ハンドラー コードは次のようになります。

患者オブジェクトにバインドするマークアップは次のようになります。

データは正しく読み込まれ、$scope.patient プロパティは完全に読み込まれますが、画面は更新されません。ただし、RESTAngular を使用して単純な 'GET' 呼び出しを追加し、呼び出しの結果を使用しなくても、ページは正しく更新されます。それはなぜですか?無意味な RESTAngular 呼び出しなしでページを更新するにはどうすればよいですか? RESTAngular 呼び出しで動作するコードは次のとおりです。

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

angularjs - Restangular API 呼び出し後の Angular ng-show

Restangular API 呼び出しを行った後、ng-show を更新するのに問題があります。API からの応答を取得した後で $appply を使用しようとしましたが、「$digest は既に進行中です」というエラーが表示されます。

そしてビューで

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

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

javascript - $scope out relangular 関数の使用方法

Restangular を使用して MongoDB からデータを取得し、そのデータを fullcalendar に使用しようとしています。問題は、Restangular ブロックを使用しているときに $scope.events が未定義であることです。

$scope.calConfig にどのように使用できますか?

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

angularjs - angularjs jasmine karma を使用した Restangular のモック

クライアント側のモデル/リソースを単体テストしたいと考えています。

私はrestangularそれをモックアウトして、正しい呼び出しが行われたかどうかを確認/スパイしたいと考えていますrestangular

私のリソース:

私のモック:

私のテスト:

私が得るエラー:

失敗は、restangularモジュールの読み込みに起因するように見えます。そこで、モジュールは、restangular プロバイダー オブジェクト (つまりthis.$get = -> ...) を取得し、実行しようとしましたinvoke()