在开发中使用$ httpBackend

时间:2017-04-05 10:13:13

标签: javascript angularjs angular-mock

在我的Angular应用程序中,我想使用$httpBackend在开发时伪造数据(而不是在测试时)。在开发过程中使用它的问题是,为获取模板html或css等静态资源而启动的所有请求都会失败。

angular.js:14516 Error: [$compile:tpload] Failed to load template: views/login.html (HTTP status: undefined undefined)(…)

如上所示,在将$httpBackend服务包含到应用程序后,它开始抱怨http模板。

angular
  .module('myApp', ['ngResource','ui.router','ngMockE2E'])
  .config(function ($urlRouterProvider, $stateProvider) {
      $stateProvider.state('dashboard.contacts',{
        url: '/contacts/:id',
        views:{
          'mainWrapper':{
            templateUrl: 'views/contacts.html',
            controller:'ContactsCtrl as contactsctl'
          }
        },
      });
  })
  .run(function ($state, $rootScope, AuthenticationService, $httpBackend) {
    var contacts = [{'id':1,'name':'ABC','phone':1234},
      {'id':2,'name':'DEF','phone':3456},
      {'id':3,'name':'GHI','phone':5678}];

    $rootScope.$state = $state;
    if(!AuthenticationService.isAuthenticated()) {
      $state.transitionTo('login');
    }

    $httpBackend.whenGET('/contacts').respond(contacts);
  })
  .controller('ContactsCtrl', function(){
    var contactsctl = this;
  });

在开发过程中以BackendLess方式在角度应用程序中生成一些虚假数据的最佳方法是什么?

0 个答案:

没有答案