使用具有相同控制器的服务在不同的部分页面中从json页面获取数据

时间:2017-08-30 17:44:00

标签: angularjs json angular-services angular-controller angular-factory

尝试使用同一控制器内的服务获取不同的json页面数据。这是示例代码

app.js文件

var app = angular.module('drinks-app', ['ui.bootstrap']);

//设置应用

app.config([ '$routeProvider', function( $routeProvider ) {

//路线

$routeProvider.when('/', {
   templateUrl: 'drinks_list.html',
   controller: 'MainCtrl'
}).when('/:drinkid', {
   templateUrl: 'drink_editor.html',
   controller: 'MainCtrl'
}).otherwise({
   redirectTo: '/drinks', 
   templateUrl: 'drinks_list.html',
   controller: 'MainCtrl'
});

// controller

app.controller('MainCtrl', function( $scope, $location, $routeParams, Drink) {
   Drink.getDrinks().success(function(drink) {       
        $scope.data = drink   
   });
});

//工厂

app.factory('Drink', function($http) {
    var Drink = function(data) { angular.extend(this, data);    
        this.getData = function() {
             return $http.get('drink.json').then(function(response){
                    return response.data; 
             });
         }      
     }
})

0 个答案:

没有答案