我正在尝试加载本地json文件并将数据输入到$ scope变量。
myApp.controller('myController', ['$scope', '$http', function ($scope, $http) {
$scope.menu = function () {
$http.get('file.json')
.then(function (data) {
$scope.menu=data.data.menu;
});
};
我还试过返回data.data.menu
。但菜单没有更新。
尝试在页面加载时调用此方法。
$scope.menu();
在html中:
<body ng-app="myApp">
<div ng-controller="myController">
<ul class="nav navbar-nav" ng-repeat="item in menu">
// other stuffs
这里有什么问题。
我只需将以下代码直接放在控制器中,但仍然无效。
$http.get('file.json')
.then(function (data) {
$scope.menu=data.data.menu;
});
答案 0 :(得分:1)
试试这个:
myApp.controller('myController', [
'$scope',
'$http',
function(
$scope,
$http
)
{
$scope.menu = [];
$scope.getItems = function()
{
$http.get('file.json')
.then(function(response)
{
$scope.menu = response.data.menu;
});
};
$scope.getItems();
}
]);
此外,您需要确保file.json从Web服务器作为静态文件提供,并具有以下结构:
{
"menu": []
}