gpt4 book ai didi

angularjs - Angular 路由在 Chrome 中不起作用

转载 作者:行者123 更新时间:2023-12-02 21:56:19 24 4
gpt4 key购买 nike

我正在尝试 AngularJS,并且一直在观看 Dan Wahlin 的 YouTube 视频,但无法让路由在 Chrome 或 IE 中工作。在 FireFox 中一切正常,但仅此而已。它只是给出一个空白页。有人知道可能出了什么问题吗?

代码如下:

索引.html

<!DOCTYPE html>
<html data-ng-app="demoApp">
<head>
<title></title>
<script src="angular.min.js"></script>
<script src="foo.js"></script>
</head>
<body>
<!-- Placeholder for views-->
<div data-ng-view=""></div>
</body>
</html>

foo.js

var demoApp = angular.module('demoApp',[]);

demoApp.config(function($routeProvider){
$routeProvider.when('/view1',{templateUrl: 'Partials/View1.html',controller: 'SimpleController'});
$routeProvider.when('/view2',{templateUrl: 'Partials/View2.html',controller: 'SimpleController'});
$routeProvider.otherwise({redirectTo: '/view1'});
});
var controllers = {};
controllers.SimpleController = function($scope){
$scope.customers = [
{name:'John Doe',city:'Phoenix'},
{name:'Jane Doe',city:'New York'},
{name:'Terrence Winter',city:'Los Angeles'},
{name:'Barack Obama',city:'Washington DC'}
];
$scope.addCustomer = function(){
$scope.customers.push(
{
name: $scope.newCustomer.name,
city: $scope.newCustomer.city
});
};
}
demoApp.controller(controllers);

View1.html

<div class="container">
<h3>View 1</h3>
Name:
<br>
<input type="text" data-ng-model="filter.name"/>
<br>
<ul>
<li data-ng-repeat="cust in customers | filter:filter.name | orderBy:'name'"> {{cust.name}} - {{cust.city}}</li>
</ul>
<br>
Customer Name: <br>
<input type="text" data-ng-model="newCustomer.name"/>
<br>
Customer City: <br>
<input type="text" data-ng-model="newCustomer.city"/>
<br>
<button data-ng-click="addCustomer()">Add Customer</button>
<br>
<a href="#/view2">View 2</a>
</div>

View2.html

<div class="container">
<h3>View 2</h3>
<input type="text" data-ng-model="city"/>
<br>
<ul>
<li data-ng-repeat="cust in customers | filter:city | orderBy:'city'"> {{cust.name}} - {{cust.city}}</li>
</ul>
</div>

最佳答案

Chrome 不允许这样做,因为模板是通过 AJAX 加载的。您可以通过使用 npm 设置简单的 http 服务器来解决此问题。

在 Nodejs 命令提示符中转到您的项目文件夹。然后输入

npm install http-server -g

这将在您的计算机上安装 http 服务器。

然后使用命令启动服务器

http 服务器

现在,使用服务器已启动的 IP 和端口运行文件,然后就可以了!路由在 Chrome 中也适用。

关于angularjs - Angular 路由在 Chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17727111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com