您好我刚刚使用ion-nav-view
标签创建了一个带Ionic的登录页面。这是在我的index.html中我有这个标签,它与.config
一起使我能够根据我的规格更改我的模板。
这是index.html的主体:
<body ng-app="starter">
<ion-nav-bar class="bar-positive">
<ion-nav-back-button>
</ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view></ion-nav-view>
</body>
这是app.js
:
.config(function($stateProvider, $urlRouterProvider) {
.state('login', {
url: '/login',
views: {
'': {
templateUrl: 'templates/login.html',
controller: 'LoginCtrl'
}
}
})
这是login.html:
<ion-view view-title="" name="login-view">
<ion-nav-bar ></ion-nav-bar>
<ion-content class="padding top-space">
<div class="item item-image padding borders">
<img ng-src="img/welcome.png">
</div>
<br/>
<br/>
<div class="list">
<label id="rounded" class="item item-input">
<span class="input-label"><span class="ion-email"></span> Email</span>
<input type="email" placeholder="example@go.cm" class="button-blanche" ng-model= "loginparam.email">
</label>
</div>
<div class="list">
<label id="rounded" class="item item-input">
<span class="input-label"><span class="ion-unlocked"></span> Password</span>
<input type="password" placeholder = "password"class="button-banche" ng-model= "loginparam.password">
</label>
</div>
<button class="button button-block button-verte" ng-click="login()">Login to GoJ</button>
<div class="padding">
<p>Not in GoJ? <a class="green-link" ng-click="signin()">Create an Account</a></p>
<p><a class="green-link" href="">Forgot Password?</a></p>
</div>
{{loginparam}}
</ion-content>
</ion-view>
根据我的理解,当启动应用程序时,index.html会重定向到login.html页面,并且与此视图关联的控制器是登录控制器。那么如果我使用此模板上的ng-model
指令绑定视图上的数据,它将绑定到当前作用域,该作用域应该是我的LoginCtrl
但仍然没有效果。
.controller('LoginCtrl', function($scope, $state, $rootScope, $ionicModal) {
console.log("sCope " + $scope.loginparam);//undefined
console.log("root" + $rootScope.loginparam);//undefined
var param = {};
$scope.login =function(){
console.log("Checking rootscope " +$rootScope.loginparam);//undefined
console.log("Checking scope " +$scope.loginparam);//undefined
//call the login service with the login parameters from the login template
$state.go("tab.dash");
};
我的console.log($scope.loginparam)
在LoginCtrl范围内未定义。现在我真的很困惑。任何人都可以帮助我吗?
答案 0 :(得分:2)
您似乎未在 LoginCtrl 中定义$scope.loginparam
。
请在 LoginCtrl
中添加以下代码$scope.loginparam = {
email: '',
password: ''
}