gpt4 book ai didi

javascript - 实时网站不显示特定的 angularjs 指令(但显示其他指令)

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

我一直在开发一个网站,目的是为了好玩,目的是学习 Angular。本地运行没有问题;一切都按计划进行。但现在我把它放到网上,其中一个指令没有显示(登录框)。

网站应该是: http://s23.postimg.org/7gzolivgr/Screenshot_9.png在线时的样子: http://s29.postimg.org/bnqtle713/Screenshot_8.png代码如下(指令位于 body 标记下方两行)

Index.html

<!DOCTYPE html>
<html data-ng-app="mMain">
<head>
<!-- css references -->
<link href="app/bootstrap/css/bootstrap.css" rel="stylesheet" />
<link href="app/css/style.css" rel="stylesheet" />
<link href="partials/partials_styling/home.css" rel="stylesheet" />
<link href="partials/partials_styling/register.css" rel="stylesheet" />
<link href="app/directives/header-anchor/header-anchor.css" rel="stylesheet" />
<link href="app/directives/header-login/header-login.css" rel="stylesheet" />
<link href="app/directives/header-choose-type/header-choose-type.css" rel="stylesheet" />
<link href="partials/partials_styling/be_a_fail.css" rel="stylesheet" />
<link href="app/directives/search-bar/search-bar.css" rel="stylesheet" />
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<title>angular test</title>
</head>
<body>
<div d-header-anchor class="header-anchor"></div>
<div d-header-login class="header-login">
</div>
<div d-header-choose-type></div>
<!--<div d-search-bar></div>-->


<div class="container_main">
<!-- placeholder views -->
<data-ng-view></data-ng-view>
</div>

<script src="app/js/jquery-1.11.3.js"></script>
<script src="app/js/jquery.validate.js"></script>
<script src="app/js/validation.js"></script>
<script src="app/js/angular.js"></script>
<script src="app/js/angular-ui-router.js"></script>
<script src="app/js/angular-route.js"></script>
<script src="app/js/script.js"></script>
<script src="app/directives/header-anchor/header-anchor.js"></script>
<script src="app/directives/header-login/header-login.js"></script>
<script src="app/directives/header-choose-type/header-choose-type.js"></script>
<script src="app/directives/search-bar/search-bar.js"></script>
</body>
</html>

指令HTML

<div class="container_header-login">
<div data-ng-if="!login[0].loggedin">

<form ng-submit="confirm()">
<input type="text" ng-model="username.name" placeholder="username" />
<input type="password" ng-model="password.pass" placeholder="password" />
<br />
<input type="submit" class="btn btn-primary" value="Login" />
<div ng-show="wrongUserOrPass" class="errorMessage">Incorrect username or password</div>
</form>

<!--<input type="text" ng-model="username.name"></input>
<input type="button" ng-click="btn()"></input>-->
<a href="#/register">Register</a>
</div>
<div data-ng-if="login[0].loggedin" class="loggedInMessage">
<p>Logged in as </p><a href="#/user_info">{{login[0].username}}</a>
</div>
</div>

.JS

var mHeaderLogin = angular.module('app.directives.mHeaderLogin', [])// mMain-dependent due to factory call
mHeaderLogin.directive('dHeaderLogin', fHeaderLogin);
function fHeaderLogin() {
return {
restrict: 'A',
templateUrl: 'app/directives/header-Login/header-Login.html',
controller: function ($scope, mainFactory) {
//$scope.loggedin = false;
$scope.login = mainFactory.getLogin(); //default view; user not logged in
$scope.iUser = 999;
//console.log($scope.iUser);
$scope.username = { name: "" };
$scope.password = { pass: "" };
$scope.wrongUserOrPass = false; //error message upon wrong username or password match
$scope.users = mainFactory.getUsers(); //move to function?
$scope.logins = mainFactory.getLogins();
//console.log($scope.users);
},
link: function (scope, element, attrs) {
scope.confirm = function () {//checking for username and password match
for (var i = 0, len = scope.users.length; i < len; i++) {
if (scope.users[i].name === scope.username.name)//true if input username match existing user name
{
for (var j = 0, len = scope.logins.length; j < len; j++) {
if (scope.logins[j].ref_id_user === scope.users[i].id_user) {//check password
if (scope.logins[j].password === scope.password.pass) { //if passed, user is logged in
//scope.iUser = i;
scope.login[0].username = scope.users[i].name;
scope.login[0].ref_id_user = scope.users[i].id_user;
scope.login[0].loggedin = true;
console.log(scope.login[0].loggedin);
console.log(scope.login[0].username);
console.log(scope.login[0].ref_id_user);
return;
}
}
}
}
}//case no match was found
scope.wrongUserOrPass = true;
//alert("username or password incorect"); //case no match
return;
}
}
}
}

CSS

.header-login{
position:absolute;
top: 1%;
right: 1%;
width: 200px;
height: 200px;
text-align: center;
z-index: 2;
}
.header-login a{
font-size: 10px;
}
.container_header-login{
position: relative;
width: 100%;
}
.container_header-login input, button {
width: 100%;
padding: 0;
}
.errorMessage{
color: red;
font-size: 12px;
}
.loggedInMessage *{
font-size: 14px;
display: inline;
}
.loggedInMessage a{
font-size: 14px;
text-decoration: underline;
display: inline;
}

最佳答案

在此脚本路径中,您已指定:

<script src="app/directives/header-login/header-login.js"></script>

在模板 HTML 文件的路径中,您已指定:

templateUrl: 'app/directives/header-Login/header-Login.html',

请注意,header-loginheader-Login 不是同一件事。

从您的屏幕截图来看,您的本地环境似乎在 Windows 下运行,它具有不区分大小写的文件系统。不过,我敢打赌,您托管真实站点的服务器是基于 Unix 的操作系统,这是一个区分大小写的文件系统。

此外,Chrome 开发工具也是您的 friend :

enter image description here

这会告诉您它找不到模板。

关于javascript - 实时网站不显示特定的 angularjs 指令(但显示其他指令),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35119663/

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