加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS:在控制器中注入时,工厂始终未定义

发布时间:2020-12-17 17:04:07 所属栏目:安全 来源:网络整理
导读:我正在尝试一个AddressBook Angular应用程序的简单示例.我有一个工厂,它返回一个记录数组,它使用List控制器显示在列表视图中 angular.module('abModule',['ngRoute']).factory('AddressBook',function() { var address_book = [ { "id": 1,"first_name": "Jo
我正在尝试一个AddressBook Angular应用程序的简单示例.我有一个工厂,它返回一个记录数组,它使用List控制器显示在列表视图中

angular.module('abModule',['ngRoute'])
.factory('AddressBook',function() {
    var address_book = [
        {
            "id": 1,"first_name": "John","last_name": "Doe","age": 29
        },{
            "id": 2,"first_name": "Anna","last_name": " Smith","age": 24
        },{
            "id": 3,"first_name": "Peter","last_name": " Jones","age": 39
        }
    ];
    alert('inside factory function');
    return {
        get: function() {
            return address_book
        }
    };
})
.config(function($routeProvider) {
    $routeProvider
    .when('/',{
        controller:'list_controller',templateUrl:'list.html'
    })
    .when('/add',{
        controller:'add_controller',templateUrl:'add.html'
    })
    .otherwise({
        redirectTo:'/'
    });          
})
.controller('list_controller',['$scope',function ($scope,AddressBook) {
    $scope.address_book = AddressBook;
}])
.controller('add_controller',AddressBook) {
    //$scope.entry = {};
    $scope.save = function() {
        AddressBook.set(
            {
                "id": $scope.address_book.length +1,"first_name":$scope.entry.firt_name,"last_name":$scope.entry.last_name,"age":$scope.entry.age
            }
        );
    };
}]);

这里’AddressBook’总是在’list_controller’中未定义.知道我哪里错了吗?任何帮助是极大的赞赏.

解决方法

您没有为您的DI注释AddressBook

.controller('list_controller',AddressBook) {
    $scope.address_book = AddressBook;
}])

应该:

.controller('list_controller','AddressBook',AddressBook) {
    $scope.address_book = AddressBook;
}])

对于其他控制器也是如此.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读