2017-05-03 35 views
-1

我正在创建一个AngularJs网站,其中有一个登录页面和一个主页面。主页面将显示一些与登录用户相关的信息。这两页有相同的AngularJs控制器和应用程序。AngularJs在不同页面中的相同控制器不起作用

当用户登录时,我将他/她的ID和名称保存在两个范围变量中,这些范围变量将用于main.html从数据库检索数据。

在登录页面中,我放了一个警告框并检查了这些变量,我可以看到这些值。但是当页面被导航到main.html时,我看不到它们中的任何变量。我对AngularJs很新,所以请给我提供一些简单的解决方案。

code behind login button

code used in main page to retrieve data

请让我知道,如果需要更多的代码。

+0

请分享代码,你已经尝试 –

+3

请张贴代码为实际的代码,而不是截图。 – Claies

+0

您可以简单地在$ stateProvider中传递相同的控制器,这样控制器就可以在这两个页面中访问。 –

回答

0

最佳做法是对不同的页面使用不同的控制器。但是如果你想为不同的页面使用相同的控制器。你可以使用它。这与使用ui-router

$stateProvider 
     .state('login',{ 
     url : '/login', 
     templateUrl : 'login.html', 
     controller : 'loginMainCtrl' 
    }) 
     .state('mainPage',{ 
     url : '/mainPage', 
     templateUrl : 'mainPage.html', 
     controller : 'loginMainCtrl' 
    }) 

示例代码,如果你正在使用ngRoute

$routeProvider 
    .when("/login", { 
      templateUrl : 'login.html', 
      controller : 'loginMainCtrl' 
    }) 
    .when("/mainPage", { 
     templateUrl : 'mainPage.html', 
     controller : 'loginMainCtrl' 
    }) 

**hope this will help you..** 
+0

感谢您的回复。 我应该在哪里放这些代码?即时通讯的初学者对角js和仍然不知道在哪里把这些代码。 谢谢 –

+0

https://johnpapa.net/angular-app-structuring-guidelines/ –

+0

你可以参考这个来理解角度js的路由。 @SajadJaward ..如果我的帮助你。你可以标记它 –

相关问题