問題タブ [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.
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 を使用してイベントを発生させないようにしたいのは、他のコントローラーがファクトリを使用すると非常に汚れる可能性があるためです。
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 を追加するのを止めるにはどうすればよいでしょうか? または、何か間違ったことをしている場合、どうすればこれを正しい方法で行うことができますか?
参照用の私のコードは次のとおりです。
angularjs - angularjs で自動保存ディレクティブを作成する
自動保存機能を他のディレクティブにアタッチする属性としてディレクティブを作成したいと考えています。渡された属性 (モデル) を監視するディレクティブを作成することを考えました。debounce 関数は lodash からのもので、各キーストロークでの実行を防ぎます。put メソッドは resangular モデルからのものです。
これまでの私の考え
しかし、私はこれを機能させませんでした。それから、これを私の再角化モデルに入れるほうがよいと思いましたが、そこにはスコープがありません。この自動保存機能を適切に追加するにはどうすればよいですか? スコープ内のどのオブジェクトが監視されるかを定義し、それに監視をアタッチして、変更に関する更新を取得できるようにする必要があります。
編集:アイデアを示すプランカーを作成しました:
http://plnkr.co/edit/I8GK8zHV8fOXY0zMa1AL?p=preview
両方のディレクティブにスコープを設定しようとしましたが、これは許可されていないというエラーが発生しました。(2 つの独立したスコープのようなものは許可されません)
属性ディレクティブで分離スコープを作成できますか?
基本的に、モデルを自動保存ディレクティブに渡す必要があります
rest - AngularJS の行が空のデータで表示される
angularJSをテストしています。
私が持っているapp.jsで
そしてhtmlで私は持っています
私が直面している問題は、データが表示されていない空の行が表示されていることです。この理由は何でしょうか?
編集 1
サーバーから返された JSON
Chrome ブラウザからのコンソール ログ
javascript - angularjsバインディングは、GET呼び出しを行わない限り表示されません
これが私の状況です。アプリに「編集」画面があります。この画面をロードするために、window.postMessage イベントを介してオブジェクトを渡しています。編集ページのコントローラーでこの postMessage イベントをリッスンし、渡されたオブジェクトを「患者」というスコープのプロパティに割り当てています。次に、編集ページのマークアップで、ng-repeat を使用して「患者」オブジェクトの配列にバインドしています。問題は、受信したデータを表示するためにページが更新されないことです。
コントローラーでのイベント ハンドラー コードは次のようになります。
患者オブジェクトにバインドするマークアップは次のようになります。
データは正しく読み込まれ、$scope.patient プロパティは完全に読み込まれますが、画面は更新されません。ただし、RESTAngular を使用して単純な 'GET' 呼び出しを追加し、呼び出しの結果を使用しなくても、ページは正しく更新されます。それはなぜですか?無意味な RESTAngular 呼び出しなしでページを更新するにはどうすればよいですか? RESTAngular 呼び出しで動作するコードは次のとおりです。
angularjs - Restangular API 呼び出し後の Angular ng-show
Restangular API 呼び出しを行った後、ng-show を更新するのに問題があります。API からの応答を取得した後で $appply を使用しようとしましたが、「$digest は既に進行中です」というエラーが表示されます。
そしてビューで
どんな助けでも大歓迎です!
javascript - $scope out relangular 関数の使用方法
Restangular を使用して MongoDB からデータを取得し、そのデータを fullcalendar に使用しようとしています。問題は、Restangular ブロックを使用しているときに $scope.events が未定義であることです。
$scope.calConfig にどのように使用できますか?
angularjs - angularjs jasmine karma を使用した Restangular のモック
クライアント側のモデル/リソースを単体テストしたいと考えています。
私はrestangular
それをモックアウトして、正しい呼び出しが行われたかどうかを確認/スパイしたいと考えていますrestangular
。
私のリソース:
私のモック:
私のテスト:
私が得るエラー:
失敗は、restangular
モジュールの読み込みに起因するように見えます。そこで、モジュールは、restangular プロバイダー オブジェクト (つまりthis.$get = -> ...
) を取得し、実行しようとしましたinvoke()
。