Javascript ng重复在离子泵中不工作

Javascript ng重复在离子泵中不工作,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我试图通过控制器使用ng repeat在html页面上显示json文件中的数据,但它不起作用。我寻找我可能犯的每一个错误,但我所有的努力都白费了。 任何帮助都将不胜感激。 提前谢谢。 json文件中的数据如下所示: [ { "id":1, "name":"John", "company":"Infosys" }, {

我试图通过控制器使用ng repeat在html页面上显示json文件中的数据,但它不起作用。我寻找我可能犯的每一个错误,但我所有的努力都白费了。 任何帮助都将不胜感激。 提前谢谢。 json文件中的数据如下所示:

[
            {
                "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本身也返回承诺对象。