【问题标题】:unable to see the page. No error is being shown in console无法看到页面。控制台中没有显示错误
【发布时间】:2017-10-07 06:01:19
【问题描述】:

我正在尝试创建一个主干应用程序,该应用程序具有登录页面和一个名为 home 的仪表板页面,因此我创建了具有两条路由的路由器。

登录后,我正在重定向到仪表板页面

但是当我运行索引文件时,我什么也没看到。 在控制台中也没有显示错误。

var AppRoute = Backbone.Router.extend({

  routes: {
    "":        "login",  // #search/kiwis
    "home": "home"
  },

  login: function(){
  	var loginTemplate = _.template($('#loginPage_template').html());
	$('#htmlBodyContent').html(loginTemplate({}));
	$('#somlogin').click(function(e) {
    var loginData= {};
	loginData.userName=document.getElementById('userName').value;
	loginData.password=document.getElementById('password').value;
	console.log(loginData);
	if(loginData.userName==='admin' && loginData.password==='admin' ){
		console.log("login successfull")
			window.location.hash="#home";	
	}else{
		console.log("do not match")
	}


})
  }

  home: function() {
    console.log("welcom to home")
  }

});

var router = new Router();
		Backbone.history.start();
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
	<link rel="stylesheet" href="style.css">

</head>
<body>

        <div id="htmlBodyContent">

		</div>
<script type="text/template" id="loginPage_template">
<div class="container">
	
	<form class="login">
	<h6>dawai<h6>
	<input type="userName" class="form-control" id="userName" name="userName">
	
	<input type="password" class="form-control" id="password" name="password">
	<br>
	<button type="button" class="btn-sm" id="loginBtn" >login</button>

	</form>


</div>
</script>


<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/underscore/underscore.js"></script>
<script src="bower_components/backbone/backbone.js"></script>
<script src="scripts/main.js"</script>




	
</body>
</html>

【问题讨论】:

  • 您的 html 文件中有语法错误:&lt;script src="scripts/main.js"&lt;/script&gt; 应该是 &lt;script src="scripts/main.js"&gt;&lt;/script&gt;
  • 我已经修复了,但仍然没有任何区别。

标签: javascript backbone.js


【解决方案1】:

我看到您使用window.location 来导航您的应用程序,这就是问题所在。您需要使用 Backbone router api 进行导航:

login: function() {
  //...
    this.navigate('home', {trigger: true});
  //...
}

【讨论】:

    猜你喜欢
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多