gpt4 book ai didi

javascript - Angular/Angular 路由不起作用

转载 作者:行者123 更新时间:2023-11-28 18:32:56 24 4
gpt4 key购买 nike

这是重复的问题,但我无法理解我在代码中到底做错了什么。这是一个非常基本的 Angular 应用程序,但路由不起作用,也没有调用 Controller 。我没有发现代码有任何问题。

编辑:这是Plunker

app.js:

var appRoot = angular.module('smapp', ['ngRoute']);
appRoot.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/Home', { templateUrl: '/views/home.html', controller: 'OmdbCtrl' })
.when('/', { templateUrl: '/views/home.html', controller: 'OmdbCtrl' })
.otherwise({ redirectTo: '/' });
}
]);

Controller :

appRoot.controller('OmdbCtrl', ['$scope', 'OmdbFactory', function ($scope, OmdbFactory) {
$scope.test = 'working';
}]);

Index.html:

<!doctype html>
<html ng-app>
<head>
<title>My Angular App</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
</head>
<body>
<div class="container-fluid">hi
<ng-view class="view-slide-in" ng-cloak=""></ng-view>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.11/angular.min.js"></script>
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.js"></script>-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.11/angular-route.min.js"></script>
<script src="./js/app.js"></script>
<script src="./js/factory.js"></script>
<script src="./js/OmdbCtrl.js"></script>
</body>
</html>

home.html

<div class="row">
<div class="col-lg-12"><h4>{{test}}</h4></div>
</div>

最佳答案

您的应用程序中的路由无法正常工作,因为您只是直接从浏览器打开index.html。要解决此问题,您需要从网络服务器提供代码并在本地主机上访问它。如果您安装了 Node.Js,那么您可以使用 Express 来运行服务器。

您必须按以下方式运行代码

第 1 步:-

首先将ng-app="smapp"添加到index.html

创建目录如下:-

 *Public
*views
*home.html
*js
*app.js
*factory.js
*OmdbCtrl.js
*index.html
*server.js

第 2 步:-

将以下代码放入“server.js”

var express = require('express');
var path = require('path');
var app = express();

app.use(express.static(path.join(__dirname, 'public')));

// catch 404 and forward to error handler
app.use(function(req, res, next) {

var err = new Error('Not Found');
err.status = 404;
next(err);
});

// error handlers

// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}

// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});

app.listen(3000);
console.log("server is listening at port 3000");
module.exports = app;

第 3 步:-

从 server.js 路径运行您的应用程序,

* npm 安装

* 节点 server.js

第 4 步:-

默认情况下,它会在浏览器中打开您的应用程序。如果没有,您也可以按照以下方式手动打开它,

***** http://localhost:3000 **

注意:-

应用程序屏幕截图:-

enter image description here

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

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