Angularjs I';我在寻找一种方法来接受硬编码;“字符”;我的Angular应用程序中的数据,并从单独的json文件加载它

Angularjs I';我在寻找一种方法来接受硬编码;“字符”;我的Angular应用程序中的数据,并从单独的json文件加载它,angularjs,Angularjs,我正在寻找一种方法,在我的Angular应用程序中获取硬编码的“字符”数据,并从一个单独的json文件加载它 我有一个在其他应用程序中使用的($http)控制器,我只是不知道如何从JSON文件中剥离、提取和访问这些字符名和属性。任何帮助都将不胜感激 <body> <div class="container"> <div ng-app="polarisApp"> <h1>The Other Guys&l

我正在寻找一种方法,在我的Angular应用程序中获取硬编码的“字符”数据,并从一个单独的json文件加载它

我有一个在其他应用程序中使用的($http)控制器,我只是不知道如何从JSON文件中剥离、提取和访问这些字符名和属性。任何帮助都将不胜感激

     <body>
        <div class="container">



        <div ng-app="polarisApp">
<h1>The Other Guys</h1>
<h3>Custom Events in Nested Controllers</h3>
<div ng-controller="Characters">
    <div class="lList"> <span ng-repeat="name in names" ng-click="changeName()">{{name}}</span>

    </div>
    <div class="cInfo">
        <div ng-controller="Character">
            <label>Name:</label>{{currentName}}
            <br>
            <label>Job:</label>{{currentInfo.job}}
            <br>
            <label>Weapon:</label>{{currentInfo.weapon}}
            <br> <span ng-click="deleteChar()">Delete</span>

        </div>
    </div>
    </div>
    </div>
        <script src="http://code.angularjs.org/1.3.0/angular.min.js"></script>
        <script src="angular.js"></script>
        <script>

        angular.module('polarisApp', [])
    .controller('Characters', function ($scope) {
    $scope.names = ['Alan', 'Terry', 'Gene', 'Sheila', 'Danson', 'Highsmith', 'Bob'];
    $scope.currentName = $scope.names[0];
    $scope.changeName = function () {
        $scope.currentName = this.name;
        $scope.$broadcast('CharacterChanged', this.name);
    };
    $scope.$on('CharacterDeleted', function (event, removeName) {
        var i = $scope.names.indexOf(removeName);
        $scope.names.splice(i, 1);
        $scope.currentName = $scope.names[0];
        $scope.$broadcast('CharacterChanged', $scope.currentName);

    });
})
    .controller('Character', function ($scope) {
    $scope.info = {
        'Alan': {
            weapon: 'Calculator',
            job: 'Police Officer'
        },
            'Terry': {
            weapon: 'Gun',
            job: 'Police Officer'
        },
            'Gene': {
            weapon: 'None',
            job: 'Police Captain'
        },
            'Sheila': {
            weapon: 'None',
            job: 'M D'
        },
            'Danson': {
            weapon: 'Gun',
            job: 'Police Detective'
        },
            'Highsmith': {
            weapon: 'Gun',
            job: 'Police Detective'
        },
            'Bob': {
            weapon: 'None',
            job: 'Police Accountant'
        }      
    };
    $scope.currentInfo = $scope.info['Alan'];
    $scope.$on('CharacterChanged', function (event, newCharacter) {
        $scope.currentInfo = $scope.info[newCharacter];
    });
    $scope.deleteChar = function () {
        delete $scope.info[$scope.currentName];
        $scope.$emit('CharacterDeleted', $scope.currentName);
    };
});
    </script>
    </body>  
你可以试试这个

var info = null;
$http.get('character.json').success(function(data) {
    info = data;
});

来自
$http.get
请求的响应将是content.json文件中包含的对象。如果您需要访问Alan的作业,您可以使用
info.Alan.job
等等。

我使用此控制器获得它:

App.controller('CharacterCtrl',函数($scope,$http){
$http.get('characters.json') .然后(功能(res){ $scope.characters=res.data;
}); });

非常感谢您的反馈。我还没有看到您在任何类似控制器中使用的变量。我想我应该调查一下——可能错过了一个更好的方法来访问$http。谢谢

var info = null;
$http.get('character.json').success(function(data) {
    info = data;
});