javascript - Angular UI 路由器无法在 Chrome 应用程序上运行

标签 javascript angularjs google-chrome google-chrome-app

我正在使用 angularjsangular-ui-router 创建一个 Chrome 应用程序。

app.js

var foo = angular.module('foo', [
    'ui.router',
])
.config(['$stateProvider', '$locationProvider',
    function($stateProvider, $locationProvider) {

    console.log("This works fine.");

    $stateProvider
        .state('login', {
            url: '/',
            templateUrl: 'modules/login/templates/login.html',
            controller: 'loginController'
        })

}])

login.js

foo.controller('loginController',
    ['$scope',
    function($scope){

    console.log("This should be printed on the console.");

}])

window.html

<!DOCTYPE html>
<html ng-app="mycurechrome">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <script src="components/chromestrap/js/jquery-2.0.3.min.js"></script>
    <script src="components/chromestrap/js/bootstrap.min.js"></script>

    <script src="bower_components/angular/angular.min.js"></script>
    <script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>

    <script src="app.js"></script>
    <script src="modules/login/controllers/login.js"></script>

    <link href="components/chromestrap/css/bootstrap.min.css" rel="stylesheet">
    <link href="css/window.css" rel="stylesheet">

</head>
<body>
    <div ui-view></div>
</body>
</html>

ma​​nifest.json

{
    "name": "foo",
    "description": "bar",
    "version": "0.1",
    "manifest_version": 2,
    "app": {
        "background": {
            "scripts": [
                "background.js"
            ]
        }
    },
    "icons": { "16": "icon-16.png", "128": "icon-128.png" }
}

背景.js

chrome.app.runtime.onLaunched.addListener(function() {
    chrome.app.window.create('window.html', {
        'outerBounds': {
            'width': 1000,
            'height': 600
        }
    });
});

app.js 上,console.log("This Works Fine."); 被执行,但是 login 上的 log() 被执行。 js 不是。

我不认为我使用 ui-router 是错误的,但我对此表示怀疑,因为 google chrome 应用程序可能有不同的方法。

最佳答案

尝试导航到登录状态,如果这是您的默认状态,请尝试:

.config(['$stateProvider', '$locationProvider', '$urlRouterProvider',
    function($stateProvider, $locationProvider, $urlRouterProvider) {

    console.log("This works fine.");
    $urlRouterProvider.otherwise('/login');
    $stateProvider
        .state('login', {
            url: '/login',
            templateUrl: 'modules/login/templates/login.html',
            controller: 'loginController'
        });

}]);

关于javascript - Angular UI 路由器无法在 Chrome 应用程序上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36857780/

相关文章:

AngularJS 子目录路由不起作用,应用了 <base> 标签

angularjs - 数据仍在加载中。数据绑定(bind)完成后,Grid 引发 'bindingcomplete' 事件

html - 跨浏览器 CSS 问题

javascript - Ionic/Angular JS - 用于从 wordpress api 中提取的复选框项目的 ng-storage

javascript - 一段时间后转到带有 anchor 的内容

c# - 将 C# 对象转换为 JSON 或 Javascript 对象

javascript - 其余语法在 Chrome 49 中不起作用

javascript - 为什么谷歌会在前面加上 while(1);他们的 JSON 响应?

javascript - 如何在 Angular Controller 中选择对象选项

google-chrome - 在浏览器选项卡中绘制网站图标?