0

また、非常に大きなライブラリであり、傍受ポイントがどこにあるかを特定するのに苦労しています...誰かアドバイスはありますか??? ありがとうございました

4

2 に答える 2

1

問題を正しく特定しました。現在、Breeze は XHR を想定していますが、angular は XHR を返しません。angular の http サービスを 'breeze' ajax アダプターとしてラップできるようにするために、次のいくつかのリリースの 1 つで実現する機能のリクエストがあります。

今のところ: (これの残りの部分は投機的でテストされていませんが、一般的なアイデアは機能するはずです)、最善の策は、既存の「ajax」アダプターの装飾されたバージョンを作成することです。のようなものです。

 var origAjaxCtor = breeze.config.getAdapter("ajax");
 var newAjaxCtor = function () {
    this.name = "newAjax";
    this._origAjaxCtor = new origAjaxCtor();
 }
 newAjaxCtor.prototype = new oldAjaxCtor(); // to delegate all other methods
 newAjaxCtor.prototype.ajax = function (settings) {
    settings.success = function((data, textStatus, XHR) {
       // call the original success code
       settings.success(data, textStatus, XHR);
       // followed by your custom scope code.
       // ...do your scope apply here...    
    });
    // perform the actual ajax call - this will call your custom success method from above.
    this._origAjaxCtor.ajax(settings);
 }
 // register the new adapter
 breeze.config.registerAdapter("ajax", newAjaxCtor);
 // make this adapter the default
 breeze.config.initializeAdapterInstance("ajax", "newAjax", true);
于 2013-06-07T00:58:26.420 に答える
0

Breeze 1.4.4 の時点で、$http を使用する angular ajax アダプターがサポートされるようになりました。詳細については、1.4.4 のリリース ノートを参照してください。

特定の問題については、angular ajax アダプターの setHttp メソッドを使用すると、Breeze に $http インスタンスを内部的に使用させることができます。

于 2013-10-15T20:52:49.287 に答える