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