Javascript ng重复在离子泵中不工作
我试图通过控制器使用ng repeat在html页面上显示json文件中的数据,但它不起作用。我寻找我可能犯的每一个错误,但我所有的努力都白费了。 任何帮助都将不胜感激。 提前谢谢。 json文件中的数据如下所示:Javascript ng重复在离子泵中不工作,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我试图通过控制器使用ng repeat在html页面上显示json文件中的数据,但它不起作用。我寻找我可能犯的每一个错误,但我所有的努力都白费了。 任何帮助都将不胜感激。 提前谢谢。 json文件中的数据如下所示: [ { "id":1, "name":"John", "company":"Infosys" }, {
[
{
"id":1,
"name":"John",
"company":"Infosys"
},
{
"id":2,
"name":"John2",
"company":"Infosys2"
},
{
"id":3,
"name":"John3",
"company":"Infosys3"
},
{
"id":4,
"name":"John4",
"company":"Infosys4"
},
{
"id":5,
"name":"John5",
"company":"Infosys5"
},
{
"id":6,
"name":"John6",
"company":"Infosys6"
},
{
"id":7,
"name":"John7",
"company":"Infosys7"
},
{
"id":8,
"name":"John8",
"company":"Infosys8"
}
]
角度。模块“启动器”[“离子”]
.runfunction$ionicPlatform{
$ionicPlatform.readyfunction{
ifwindow.cordova&&window.cordova.plugins.Keyboard{
//默认情况下隐藏附件栏删除此选项以显示键盘上方的附件栏
//表格输入
cordova.plugins.Keyboard.hideKeyboardAccessoryBartrue;
//除非您知道自己在做什么,否则不要删除此行。它会停止视口
//当文本输入被聚焦时,从捕捉。Ionic在内部为
//更好的键盘体验。
cordova.plugins.Keyboard.disableScrolltrue;
}
ifwindow.StatusBar{
StatusBar.styleDefault;
}
};
}
.configfunction$stateProvider,$urlRouterProvider{
$stateProvider
.注明“标签”{
url:/tab,
摘要:没错,
templateUrl:templates/tabs.html
}
.state'tabs.home'{
网址:/home,
观点:{
“主页选项卡”:{
templateUrl:templates/home.html,
控制器:“HomeTabCtrl”
}
}
}
.state'tabs.addFriend'{
url:/addFriend,
观点:{
“添加好友选项卡”:{
templateUrl:templates/addFriend.html,
控制器:'addFriendTabController'
}
}
}
.state'tabs.message'{
url:/message,
观点:{
“消息选项卡”:{
templateUrl:templates/message.html,
控制器:'messageTabController'
}
}
}
.state'tabs.notifications'{
url:/通知,
观点:{
“通知选项卡”:{
templateUrl:templates/notifications.html,
控制器:'notificationsTabController'
}
}
}
.state'tabs.profile'{
url:/profile,
观点:{
“配置文件选项卡”:{
templateUrl:templates/profile.html,
控制器:'profileTabController'
}
}
};
$urlRouterProvider.otherwise/tab/home;
}
.controller'HomeTabCtrl',函数$scope{
console.logHome选项卡;
}
.controller'addFriendTabController',函数$scope,personService{
console.logaddFriend选项卡;
$scope.persons={};
$scope.persons=personService.getData;
$scope.addFriend=函数{
window.alertRequest已发送;
}
}
.controller'messageTabController',函数$scope{
console.logmessage选项卡;
}
.controller'notificationsTabController',函数$scope{
console.lognotifications选项卡;
}
.controller'profileTabController',函数$scope{
console.logprofile选项卡;
}
.factory'personService',函数$http{
var StudentDataOp={};
StudentDataOp.getData=函数{
返回$http.getjs/data.json。
函数响应{console.logresponse.data;返回response.data;}
};
返回StudentDataOp;
}
名称
追随者
时间
181连接
查找连接
没有待定的邀请
管理所有
你可能认识的人
{{person.name}
{{person.company}}
{{persons.id}}
重复没有什么错。问题出在你的控制器上。 这一行不正确:
$scope.persons=personService.getData();
服务调用不返回persons数据,它返回一个promise对象。所以,应该这样写:
personsService.getData().then(function(persons) {
$scope.persons = persons;
});
你的console.log打印什么?我想数据在StudentDataOp.getData中,而不是在StudentDataOp中如果你检查我制作的工厂,我已经编写了console.log语句和
d从我的json打印对象数组file@Mitesh它将是{{person}}。数据位于StudentDataOp.getData中。我已经在我的controllerdid中调用了这个方法。你是否尝试在html中打印{{persons}?谢谢,我忘记了工厂的承诺概念。承诺概念与工厂无关,仅供参考。它只是$http.then的返回类型$http本身也返回承诺对象。