2017-04-10 1 views
0

を返す保つ: https://docs.angularjs.org/api/ngMockE2E/service/ $ httpBackend

だから私のようなものをAPI呼び出しを実装home.run.jsでこの:

import angular from 'angular'; 
import uirouter from 'angular-ui-router'; 
import mocke2e from 'angular-mocks/ngMockE2E'; 

import mocks from './home.run' 
import routes from './home.config'; 
import HomeController from './home.controller'; 

export default angular.module('app.home', [uirouter, mocke2e]) 
    .config(routes) 
    .controller('HomeController', HomeController) 
    .run(mocks) 
    .name; 

とにHomeController I:

mocks.$inject = ['$httpBackend']; 

export default function mocks($httpBackend) { 

    let users = [{'name': 'Eva'},{'name': 'David'}] 

    $httpBackend.whenGET('/users').respond(users); 

    $httpBackend.whenPOST('/users').respond(function(method, url, data) { 
    let user = angular.fromJson(data); 
    users.push(user); 
    return [200, user, {}]; 
    }); 

} 

は、私もこのようになりますindex.jsを持っていますメソッドの呼び出しを取得:コントローラで

export default class HomeController { 

constructor($http) { 
    this.$http = $http; 
    this.users = this.getUsers(); 
} 

getUsers() { 
    this.$http.get('/users').then(function(response) { 
    return response.data; 
    }); 
} 

} 

HomeController.$inject = ['$http'] 

残念ながらgetUsers()メソッドは、異なるアプローチを試した後、代わりにresponse.dataからユーザーのundefinedを返し続けます。

誰かが私がどこを台無しにしたのか理解できますか?

答えて

0

あなたはreturngetUsers()

export default class HomeController { 

constructor($http) { 
    this.$http = $http; 
    this.users = this.getUsers(); 
} 

getUsers() { 
    return this.$http.get('/users').then(function(response) { 
    return response.data; 
    }); 
} 

} 
を逃しています
関連する問題

 関連する問題