Ionic framework JSON.stringify无法序列化循环结构:Ionic/AngularFire应用程序的iOs9错误
我今天更新了我的Xcode,并在iOs9版本上运行了我的Ionic应用程序。每次我从ng重复列表单击到详细视图时,Xcode控制台上都会弹出新的错误。错误是:Ionic framework JSON.stringify无法序列化循环结构:Ionic/AngularFire应用程序的iOs9错误,ionic-framework,angularjs-ng-repeat,firebase,ios9,Ionic Framework,Angularjs Ng Repeat,Firebase,Ios9,我今天更新了我的Xcode,并在iOs9版本上运行了我的Ionic应用程序。每次我从ng重复列表单击到详细视图时,Xcode控制台上都会弹出新的错误。错误是: error JSON.stringify()ing argument: TypeError: JSON.stringify cannot serialize cyclic structures. 该错误似乎是由AngularFire firebaseObject引起的。下面是如何复制问题(必须构建到ios,并在xcode7中看到错误):
error JSON.stringify()ing argument: TypeError: JSON.stringify cannot serialize cyclic structures.
该错误似乎是由AngularFire firebaseObject引起的。下面是如何复制问题(必须构建到ios,并在xcode7中看到错误):
$ sudo npm install -g ionic cordova
$ ionic start myApp sidemenu
.controller('playlysctrl',函数($scope、$firebaseObject、$firebaseArray){
$scope.playlists=[];
var ref=新的Firebase(MYFIREBASEURL);
var tasks=$firebaseArray(ref.child('tasks'));
$scope.playlists=任务;
})
.controller('playlictrl',函数($scope、$stateparms、$firebaseObject){
var id=$stateParams.playlyid;
console.log(id);
var ref=新的Firebase(MYFIREBASEURL);
var task=$firebaseObject(ref.child('tasks').child(id));
console.log(任务);
$scope.task=任务;
});代码>我也有类似的问题。事实证明,这是在以下情况下造成的:
var userRef = new Firebase(FIREBASE_URL + '/users').child(uid);
profile = $firebaseObject(userRef);
console.log(profile)
您是否可能正在尝试记录具有循环依赖关系的firebase数据结构
尝试删除console.log()行 删除console.log对我很有效。我必须对我的代码执行以下操作(Ionic Google Analytics插件-)
这个示例代码中没有任何东西会触发JSON.stringify()。也没有解释播放列表是如何构建的,因此我们无法猜测循环引用将在何处发挥作用。这里也没有版本信息,也没有足够的数据来创建复制。Ops sorry@Kato!我编辑了这篇文章作为你的最后一封电子邮件,我不小心删除了控制器代码(并被HTML替换)。我的错!我添加了所有的控制器代码和我的版本信息。除了上面的更改,我没有修改侧菜单启动器中的任何其他代码。确切地说,我没有在代码中触发任何JSON.stringify(),而是在firebaseObject加载到视图中并触发该错误时触发的!
// Google Analytics (console.log throws errors)
return GoogleAnalytics.startTrackerWithId("UA-97459358-1")
.then(() => {
//console.log('Google analytics is ready now');
return GoogleAnalytics.enableUncaughtExceptionReporting(true)
}).then((_success) => {
//console.log("startTrackerWithId success")
}).catch((_error) => {
//console.log("enableUncaughtExceptionReporting", _error)
})