Javascript 控制器不影响离子应用程序
我一直在开发我的第一款ionic应用程序,我真的很困惑为什么它不起作用。这是一个简单的登录表单。当用户输入电子邮件和密码时,它会验证它并将您带到主页,如果用户点击注册,它会将您带到注册页面。不幸的是,我的没有做任何事情,点击按钮没有任何效果,我也不知道为什么。另外,当我添加控制器时,之前出现的页面“欢迎”的标题也消失了。我不知道我做错了什么。任何帮助都将不胜感激。谢谢 index.htmlJavascript 控制器不影响离子应用程序,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我一直在开发我的第一款ionic应用程序,我真的很困惑为什么它不起作用。这是一个简单的登录表单。当用户输入电子邮件和密码时,它会验证它并将您带到主页,如果用户点击注册,它会将您带到注册页面。不幸的是,我的没有做任何事情,点击按钮没有任何效果,我也不知道为什么。另外,当我添加控制器时,之前出现的页面“欢迎”的标题也消失了。我不知道我做错了什么。任何帮助都将不胜感激。谢谢 index.html <!DOCTYPE html> <html> <head> <m
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<link rel="manifest" href="manifest.json">
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>
<!-- your app's js -->
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
</head>
<body ng-app="test">
<ion-pane>
<ion-nav-bar class="bar-stable">
</ion-nav-bar>
<ion-nav-view></ion-nav-view>
</ion-pane>
</body>
</html>
controllers.js
angular.module('test.controllers', [])
.controller('welcomeController', function ($scope) {
$scope.email = '';
$scope.password = '';
$scope.errorE="";
$scope.errorP="";
$scope.errorM1="Email not valid";
$scope.errorM2="Password required";
$scope.e=false;
$scope.p=false;
$scope.login=function(form)
{
if(form.$valid)
{
$scope.errorP="perfect";
$scope.errorE="perfect";
$scope.e=true;
$scope.p=true;
$state.go('home');
}
else
{
if(form.email.$invalid || form.email.$pristine)
{
$scope.errorE=$scope.errorM1;
$scope.e=true;
}
else
{
$scope.e=false;
}
if(form.password.$invalid || form.password.$pristine)
{
$scope.errorP=$scope.errorM2;
$scope.p=true;
}
else
{
$scope.p=false;
}
}
}
$scope.register = function() {
$state.go('register');
}
});
有三个问题 一, ionic.bundle.js已经带来了 2“WelcomeController”angular/javascript区分大小写
3您忘记在“WelcomeController”中注入$state我很乐意提供帮助。
angular.module('test', ['ionic', 'test.controllers'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if(window.cordova && window.cordova.plugins.Keyboard) {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
// Don't remove this line unless you know what you are doing. It stops the viewport
// from snapping when text inputs are focused. Ionic handles this internally for
// a much nicer keyboard experience.
cordova.plugins.Keyboard.disableScroll(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
});
})
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('welcome', {
url: '/welcome',
templateUrl: 'template/welcome.html',
controller: 'WelcomeController'
})
.state('register', {
url: '/register',
templateUrl: 'template/register.html'
//, controller: 'RegisterController'
})
.state('home', {
url: '/home',
templateUrl: 'template/home.html'
//,controller: 'HomeController'
});
$urlRouterProvider.otherwise('/welcome');
});
angular.module('test.controllers', [])
.controller('welcomeController', function ($scope) {
$scope.email = '';
$scope.password = '';
$scope.errorE="";
$scope.errorP="";
$scope.errorM1="Email not valid";
$scope.errorM2="Password required";
$scope.e=false;
$scope.p=false;
$scope.login=function(form)
{
if(form.$valid)
{
$scope.errorP="perfect";
$scope.errorE="perfect";
$scope.e=true;
$scope.p=true;
$state.go('home');
}
else
{
if(form.email.$invalid || form.email.$pristine)
{
$scope.errorE=$scope.errorM1;
$scope.e=true;
}
else
{
$scope.e=false;
}
if(form.password.$invalid || form.password.$pristine)
{
$scope.errorP=$scope.errorM2;
$scope.p=true;
}
else
{
$scope.p=false;
}
}
}
$scope.register = function() {
$state.go('register');
}
});