myFavCtrl.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. angular.module('push')
  2. .controller('MyFavCtrl', function ($scope) {
  3. if($scope.app){
  4. $scope.setStatusBar(0);
  5. }
  6. //初始化当前信息
  7. $scope.favs = [
  8. {
  9. id: 0,
  10. name: "先进制造及高端装备",
  11. value: false
  12. },
  13. {
  14. id: 1,
  15. name: "能源及节能技术",
  16. value: false
  17. },
  18. {
  19. id: 2,
  20. name: "新材料",
  21. value: false
  22. },
  23. {
  24. id: 3,
  25. name: "电子信息",
  26. value: false
  27. },
  28. {
  29. id: 4,
  30. name: "汽车制造",
  31. value: false
  32. },
  33. {
  34. id: 5,
  35. name: "资源及环境技术",
  36. value: false
  37. },
  38. {
  39. id: 6,
  40. name: "生物与新医药",
  41. value: false
  42. }
  43. ];
  44. //取本地数据,匹配当前信息
  45. var checkedvalue = localStorage.getItem("checkModel");
  46. if(checkedvalue != "" && checkedvalue != null && checkedvalue != "."){
  47. angular.forEach($scope.favs, function (value, key) {
  48. if (checkedvalue.indexOf(value.name) != -1) {
  49. $scope.favs[key].value = true;
  50. }
  51. });
  52. }
  53. //选择数据
  54. var checkedflg = false;
  55. $scope.checkModel = function (fav) {
  56. if (fav.value) {
  57. angular.forEach($scope.favs, function (value, key) {
  58. if (value.name == fav.name) {
  59. $scope.favs[key].value = false;
  60. }
  61. });
  62. } else {
  63. angular.forEach($scope.favs, function (value, key) {
  64. if (value.name == fav.name) {
  65. $scope.favs[key].value = true;
  66. }
  67. });
  68. }
  69. checkedflg = true;
  70. };
  71. //离开页面,存储选择数据
  72. $scope.$on("$ionicView.beforeLeave", function(){
  73. if(checkedflg){
  74. var checkedstr = "";
  75. angular.forEach($scope.favs,function (value, key) {
  76. if(value.value){
  77. if(checkedstr.indexOf(",") == -1){
  78. if(checkedstr.length > 0){
  79. checkedstr = checkedstr + "," + value.name;
  80. }else {
  81. checkedstr = checkedstr + value.name;
  82. }
  83. }else {
  84. checkedstr = checkedstr + "," + value.name;
  85. }
  86. }
  87. });
  88. localStorage.setItem("checkModel", checkedstr);
  89. }
  90. });
  91. $scope.$on("$ionicView.beforeLeave", function () {
  92. if($scope.app){
  93. $scope.setStatusBar(1);
  94. }
  95. });
  96. });