Angularjs cordova ionic应用程序似乎加载了控制器两次

Angularjs cordova ionic应用程序似乎加载了控制器两次,angularjs,cordova,controller,ionic,Angularjs,Cordova,Controller,Ionic,我在Cordova(5.3.3)中使用ionic(1.6.5)和angular js创建了一个应用程序,并为iOS和Android构建了该应用程序。我遇到了一些问题 我有一个菜单项,当我单击它时,它应该加载下一个状态和其他菜单项。但是,它似乎在没有动画的情况下加载下一个状态一次,然后使用动画再次加载该状态,从而产生“抖动”效果。最好在我上传的视频中显示: 我想知道是否有人知道这里会出现什么问题,我应该从哪里开始寻找,或者是否有已知的bug 任何帮助都将不胜感激 //控制器 .controlle

我在Cordova(5.3.3)中使用ionic(1.6.5)和angular js创建了一个应用程序,并为iOS和Android构建了该应用程序。我遇到了一些问题

我有一个菜单项,当我单击它时,它应该加载下一个状态和其他菜单项。但是,它似乎在没有动画的情况下加载下一个状态一次,然后使用动画再次加载该状态,从而产生“抖动”效果。最好在我上传的视频中显示:

我想知道是否有人知道这里会出现什么问题,我应该从哪里开始寻找,或者是否有已知的bug

任何帮助都将不胜感激

//控制器
.controller('ProgramCtrl',['$scope','FacProgram',
功能($scope,fac program){
$scope.refresh=函数(){
FacProgram.refresh()
.最后(函数(){
$scope.$broadcast('scroll.refreshComplete');
});
};
$scope.temp_articles=函数(){
返回FacProgram.all();
};
}
])
.controller('ProgramDetailCtrl'、['$scope'、'$stateParams'、'FacProgram',
函数($scope、$stateparms、FacProgram){
$scope.art=FacProgram.get($stateParams.programId);
}
])
//工厂位于不同的js文件中:
.factory('FacProgram',['$http','$q','FacJson',
函数($http、$q、FacJson){
var temp_articles=[];
函数findHeader(src、headTag、index){
var head=$(src.find(headTag.get)(0);
temp_articles[index].headlinehumb=head.textContent;
临时文章[索引].headline=head.textContent;
}
函数刷新(){
var q=$q.defer();
…//从.json文件获取URL的函数
////////////////////////////////////////////////////////////
forEach(URL,函数(URL,索引){
//将文章添加到词典中
临时推送({
inx:索引,
img:img_徽标[索引]
});
$http.get(URL)
.然后(功能(sc){
//将解析html以查找缩略图文本、主体文本等
var src=sc.data.substring(sc.data.indexOf(“”));
…//解析网站内容等的代码
////////////////////////////////////////////////////////
q、 解决();
},
函数(){
q、 拒绝();
});
});
});
回报承诺
}
返回{
全部:函数(){
归还临时物品;
},
get:函数(程序ID){
返回临时物品[programId];
},
刷新:函数(){
log(“DPG程序刷新触发”);
temp_articles=[];//防止重复并允许其他模板在没有任何限制的情况下使用的捕获
//污染
返回刷新()
}
}
}]);

{{艺术标题}

如果您将控制器放入app.js,我也会遇到同样的情况。请尝试将其从app.js中删除,并仅在controller或viceversa中应用它

app.js中的状态应如下所示:

 .state('state-name', {
    url: '/state-name',
    templateUrl: "templates/walkthrough/state-name.html"
    //Notice no controller here
  })
顺便说一句,我看过这个链接,但对我来说,它看起来并不是我问题的解决方案