gpt4 book ai didi

javascript - 将 JSON 文件导入运行在 Grunt 服务器上的 Angular 应用程序

转载 作者:搜寻专家 更新时间:2023-11-01 00:11:58 25 4
gpt4 key购买 nike

我正在学习基本的 Angular 教程,需要在其中包含一个 JSON 文件。我用 Yeoman 启动了我的应用程序,它正在运行。

var phonecatApp = angular.module('phonecatApp', []);

phonecatApp.controller('PhoneListCtrl', function PhoneListCtrl($scope) {

$http.get('phones/phones.json').success(function(data) {
$scope.phones = data;
});

});

但是,当我访问 localhost:9000 时,出现了一堆控制台错误:

ReferenceError: $http is not defined
at new PhoneListCtrl (http://localhost:9000/scripts/controllers/main.js:17:3)
at invoke (http://localhost:9000/bower_components/angular/angular.js:3000:28)
at Object.instantiate (http://localhost:9000/bower_components/angular/angular.js:3012:23)
at http://localhost:9000/bower_components/angular/angular.js:4981:24
at http://localhost:9000/bower_components/angular/angular.js:4560:17
at forEach (http://localhost:9000/bower_components/angular/angular.js:137:20)
at nodeLinkFn (http://localhost:9000/bower_components/angular/angular.js:4545:11)
at compositeLinkFn (http://localhost:9000/bower_components/angular/angular.js:4191:15)
at compositeLinkFn (http://localhost:9000/bower_components/angular/angular.js:4194:13)
at publicLinkFn (http://localhost:9000/bower_components/angular/angular.js:4096:30)

如有任何帮助,我们将不胜感激!

最佳答案

最好将 json 文件包含在工厂服务中。这样你就可以缓存它并继续在不同的 Controller 上使用它。

我遇到了类似的问题,然后就这样解决了...

var App = angular.module('App', []);

// Setting up a service to house our json file so that it can be called by the controllers
App.factory('service', function($http) {
var promise;
var jsondata = {
get: function() {
if ( !promise ) {
var promise = $http.get('src/data_json.js').success(function(response) {
return response.data;
});
return promise;
}
}
};
return jsondata;
});




App.controller('introCtrl', function (service , $scope) {
service.get().then(function(d) {
$scope.header = d.data.PACKAGE.ITEM[0]
})
});

App.controller('secondCtrl', function (service , $scope) {
service.get().then(function(d) {
$scope.title = d.data.PACKAGE.ITEM[1]
})
});

关于javascript - 将 JSON 文件导入运行在 Grunt 服务器上的 Angular 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19278518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com