gpt4 book ai didi

javascript - ngSubmit 没有触发 Controller 中的功能

转载 作者:行者123 更新时间:2023-11-28 15:16:01 26 4
gpt4 key购买 nike

我对 AngularJS 和 javascript 比较陌生,请在回答时仁慈一点。

我正在尝试创建一个示例应用程序,我想在其中嵌套 Controller 。 MainController 将始终作为父容器存在,如果用户登录,它将在顶部呈现菜单和用户名。现在我正在检查用户是否存储在 localStorage 中。

每个页面都有自己的 Controller ,该 Controller 将执行页面特定的操作。

我被困在 ng-submit 上,为什么它不起作用?

感谢任何帮助。

索引.html

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-resource.js"></script>
<script src="angularapp.js"></script>
</head>
<body ng-app="myAngularApp">
<div ng-controller="MainController">
<div ng-show="isLoggedIn">Menu</div>
<div ng-view>
</div>
</div>
</body>

登录.html

  <from ng-submit="login()">
<input type="text" id="username" ng-model="username"></input>
<input type="password" id="password" ng-model="password"></input>
<input type="submit" value="submit" id="submit" ng-submit="login()"></input>
</form>

angularapp.js

angular.module('myAngularApp',['ngRoute','ngResource'])
.config(['$routeProvider',function($routeProvider){

$routeProvider.when('/home',{
controller:'SubController',
templateUrl:'templates/home.html'
})
.when('/login',{
controller:'MainController',
templateUrl:'templates/login.html'
});
}])
.controller('MainController',['$scope','$window','userService',function($scope,$window,userService){
$scope.isLoggendIn=userService.isLoggedIn;
console.log('here I come');
$scope.username='';
$scope.password='';
$scope.login=function(){
alert('Ignored???');
$window.localStorage['myUser']={username:$scope.username,password:$scope.password};
consoel.log('user is logged in now');
};
}])
.controller('SubController',['$scope',function($scope){
$scope.myContent='Contenst to show after logged in';
}])
.service('userService',['$window',function($window){
var self=this;
self.isLoggedIn=function(){
if($window.localStorage['myUser'])
return true;
else
return false;
};
}]);

最佳答案

请更改您的代码。您似乎犯了拼写错误。

<from ng-submit="submit()">

至:

<form ng-submit="submit()">

同时替换以下代码。

<input type="submit" value="submit" id="submit" ng-click="submit()"></input>

关于javascript - ngSubmit 没有触发 Controller 中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33916722/

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