0

以下は、角度プロジェクトの ui ルーティング設定です。作業指示書リスト ページを表示できません。以下のセットアップの何が問題なのかわかりません。作業指示書を表示するために作業指示書リスト ページを表示する方法を教えてください。

ブラウザで呼び出される URL http://localhost:63342/vdash/index.html#/workorders

app.js

(function () {
"use strict";
var app = angular.module("workOrderManagement", ["common.services",      "ui.router", "workOrderResourceMock"]);
app.config(["$stateProvider", "$urlRouterProvider", function ($stateProvider, $urlRouterProvider) {
        $urlRouterProvider.otherwise("/workorders");

        $stateProvider.state("workOrderList", {
            url: "/workorders",
            templateUrl: "app/workorder/workOrderListView.html",
            controller: "workOrderCtrl as vm"
        })
    }]
)
})();

workOrderResourceMock.js

(function () {
"use strict";

var app = angular.module("workOrderResourceMock", ["ngMockE2E"]);
app.run(function ($httpBackend) {
    var workOrders = [
        {
            "orderNo": "WO-0000001",
            "city": "San Jose",
            "bank": "Citi Bank",
            "branch": "Maxrk",
            "creationDate": "2017-10-01",
            "clientName": "Mr.Peter",
            "status": "PENDING",
            "handledBy": "Peter",
        }           
    ];

    var workOrderUrl = "/workorders";

    $httpBackend.whenGET(workOrderUrl).respond(function(method, url, data){
      // just to see if it his this function will remove later
        alert("into the backend method");
        console.log(url);


        return [200, workOrders];
    });

$httpBackend.whenGET("/").passThrough();
   });
}());

エラー angular.js:13236 エラー: 予期しない要求: GET
app/workorder/workOrderListView.html $httpBackend でこれ以上の要求は期待されません (angular-mocks.js:1403)

4

1 に答える 1

0

Angular は、ビューを表示するために必要なテンプレートを取得しようとしています。これはE2Eテストだと思います。テストの実行中、すべての呼び出しは $httpBackend を通過するため、$httpBackend で呼び出しがテンプレートを取得できるようにする必要があります。

これを run メソッドの最後に追加し、

$httpBackend.whenGET("/app/workorder/workOrderListView.html").passThrough();

別の解決策として、$templateCacheを使用してテンプレートをキャッシュできるため、angular はサーバーからテンプレートをロードする必要がありません。

于 2016-04-08T04:09:38.860 に答える