我正在使用 node-webkit 和 Angular 构建一个桌面应用程序。我一直在使用 Angular 的 1.0.7 版,但我需要更新以利用对框架的改进。不幸的是,新ngRoute
模块似乎无法正常工作,而我之前的路由没有问题。
以angular-seed
样板为例,当应用程序加载时,它会显示 view1,但单击 view1 和 view2 的链接似乎没有任何效果。我已经验证它在浏览器中用作网页时可以正常工作,但在 node-webkit 环境中它会失败。
我确实发现,如果我注释掉地址栏显示而不是 的otherwise
选项,当然 view1 和 view2 都不会显示,并且单击 view1 和 view2 链接仍然没有效果。似乎链接可能被错误地解释了?如果是这样,它们应该如何格式化?我玩过一堆组合都没有效果。$routeProvider
index.html#/C:/view1
app/index.html#/view1
app.js
'use strict';
// Declare app level module which depends on filters, and services
angular.module('myApp', [
'ngRoute',
'myApp.filters',
'myApp.services',
'myApp.directives',
'myApp.controllers'
]).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'MyCtrl1'});
$routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: 'MyCtrl2'});
$routeProvider.otherwise({redirectTo: '/view1'});
}]);
index.html
<!doctype html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<title>My AngularJS App</title>
<link rel="stylesheet" href="css/app.css"/>
</head>
<body>
<ul class="menu">
<li><a href="#/view1">view1</a></li>
<li><a href="#/view2">view2</a></li>
</ul>
<div ng-view></div>
<div>Angular seed app: v<span app-version></span></div>
<!-- In production use:
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
-->
<script src="lib/angular/angular.js"></script>
<script src="lib/angular/angular-route.js"></script>
<script src="js/app.js"></script>
<script src="js/services.js"></script>
<script src="js/controllers.js"></script>
<script src="js/filters.js"></script>
<script src="js/directives.js"></script>
</body>
</html>