【问题标题】:Phonegap : Angular Controller does not work in new windowPhonegap:角度控制器在新窗口中不起作用
【发布时间】:2014-07-07 05:08:26
【问题描述】:

我正在开发一个基于PhoneGap 3.5Angular.js 的项目。我尝试将 Angular New Window InAppBrowser 与以下控制器一起使用:

var gWindow;
window.loadWindow = function(website) {
    gWindow = window.open(website, '_blank', 'location=no');
    gWindow.addEventListener('loadstart', function(event) { 
        //alert('start: ' + event.url); 
    });
    gWindow.addEventListener('loadstop', fLoadStop);
    gWindow.addEventListener('loaderror', function(event) { 
        //alert('error: ' + event.message); 
    });
    gWindow.addEventListener('exit', fExit);
}
window.fLoadStop = function(event) {
    var url = event.url;
    var filename = url.substring(url.lastIndexOf('/')+1);
    if(filename == "closeinappbrowser.html"){
        gWindow.close();
    }
}
window.fExit = function(event) {
    gWindow.removeEventListener('loadstop', fLoadStop);
    gWindow.removeEventListener('exit', fExit);
}

但我不知道为什么下面的控制器不能在新窗口 appbrowser 中工作,但在 dekstop 浏览器中工作

newsappblank = angular.module("newsappblank", ["ngRoute", "newsControllersblank", "newsServices", "ngSanitize", "ui.bootstrap", "slugifier", "bn-lazy"]);

newsappblank.config([
    "$routeProvider", function($routeProvider) {
      return $routeProvider.when("/news/:newsId", {
        templateUrl: "partials/news-detail.html",
        controller: "NewsDetailCtrl"
      }).otherwise({
        redirectTo: "../closeinappbrowser.html"
      });
    }
  ]);

newsControllersblank = angular.module("newsControllersblank", []);
    newsControllersblank.controller("NewsDetailCtrl", [
        "$scope", "$rootScope", "$location", "$anchorScroll", "$http", "$routeParams", function($scope, $rootScope, $location, $anchorScroll, $http, $routeParams) {
          $rootScope.middlebar = true;
          $rootScope.loadbar = false;
          alert(1);
          return $scope.go = function(path) {
            if (path !== '/news/') {
              $location.path(path);
              $location.hash("top");
              return $anchorScroll();
            }
          };
        }
      ]);

【问题讨论】:

  • 您是否可能没有在应用浏览器中加载 Angular 本身?你能提供更多信息吗?是否存在特定错误或者它只是没有做任何事情?它会替换文本等吗?
  • 显示为空白,ajax 可以工作但无法加载模板
  • 可能是Phonegap的问题,包含了哪个库?您如何在浏览器中测试应用程序?

标签: javascript angularjs cordova


【解决方案1】:

我遇到了问题,Phonegap Inapp Browser Not Support Jquery Load to Load Angular Template,所以解决方案是我将 html 模板写入一个变量并调用它。

【讨论】:

  • 您能再解释一下吗?
猜你喜欢
  • 2015-06-02
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
  • 2017-11-10
  • 2017-10-25
  • 2014-12-14
  • 1970-01-01
  • 2017-06-03
相关资源
最近更新 更多