不同页面中的AngularJs相同控制器不起作用

时间:2017-05-03 15:36:46

标签: html angularjs

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

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

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

code behind login button

code used in main page to retrieve data

如果需要更多代码,请告诉我。

1 个答案:

答案 0 :(得分: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..**