Телефонный разрыв angular ng-view не работает

Я пытаюсь сделать базовое приложение с angularjs и телефонной связью в Android. Но, похоже, это не работает. Ниже приведены мои файлы исходного кода:

index.html

    <!DOCTYPE html>
<html ng-app="main-app">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>Insert title here</title>
</head>
<body>
<div class="body-content" ng-controller="MainCtrl">
    <div class="loader-ajax" ng-show="isViewLoading"></div>
    <div ng-view></div>
</div>
    <script src="js/angular.js"></script>
    <script type="text/javascript" src="js/main.js"></script>
    <script type="text/javascript" src="cordova-2.3.0.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript">
            app.initialize();
    </script>
</body>
</html>

main.js

var mobileApp = angular.module("main-app", []);

mobileApp.config(function ($routeProvider,$compileProvider) {

    $routeProvider
        .when("/",
        {
            templateUrl: "partial/home.html",
            controller: "homeController"
        })
        .when("/home",
        {
            templateUrl: "partial/home.html",
            controller: "homeController"
        });
    $compileProvider.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|tel):/);
});
mobileApp.controller("MainCtrl",function($scope){
    alert('Coming here');
    $scope.isViewLoading=true;
});
mobileApp.controller("homeController",function($scope){
    alert('Home Coming here');

});

index.js

var app = {
    initialize: function() {
        this.bind();
    },
    bind: function() {
        document.addEventListener('deviceready', this.deviceready, false);
    },
    deviceready: function() {
        // note that this is an event handler so the scope is that of the event
        // so we need to call app.report(), and not this.report()
        app.report('deviceready');
        angular.bootstrap(document, ['main-app']);
    },
    report: function(id) { 
        console.log("report:" + id);
    }
};

Когда приложение загружается, кажется, что маршрутизатор не работает, поскольку он не входит в Homecontroller.

Из того, что у меня есть везде, этот код должен работать. Любая помощь будет принята с благодарностью.


person goblin2986    schedule 26.03.2013    source источник
comment
briantford.com/blog/angular-phonegap.html   -  person Simon MacDonald    schedule 26.03.2013
comment
@SimonMacDonald, эй, чувак, я попробовал это руководство, и по какой-то причине оно не сработало (инструкции yaoman устарели?). проект сделан? это было бы хорошим началом!   -  person abbood    schedule 14.06.2013


Ответы (3)


У меня была такая же проблема, которую я только что нашел решение. Взгляните на Angular ng-view/routing не работает в PhoneGap

person thewildpendulum    schedule 26.03.2013

Переместите app.initialize(); в событие PhoneGap о готовности устройства

person Nishanth Nair    schedule 26.03.2013

У меня была такая проблема - я застрял на ней на 3 вечера - в итоге я сравнил имена шаблонов в роутинге с реальными именами файлов - убедиться, что регистр совпадает.

person DanAbdn    schedule 16.07.2015