2017-01-06 3 views
0

Я работаю со средним стеком и использую AngularJs и NodeJs. Я использовалЛокальные данные хранилища не попадают в заголовочный файл в Angularjs

Локальных данные для хранения и получения данных в основном контенте он работает нормально, но эти данные

не получают в заголовок Я использую основной файл index.ejs который включая заголовок.

<div data-ng-include="'js/view/header.html'" class="page-header navbar navbar-fixed-top"> 
    </div> 
    <!-- END HEADER --> 

    <div class="clearfix"> 
    </div> 

    <!-- BEGIN CONTAINER --> 
    <div class="container"> 
     <div class="page-container"> 
      <!-- BEGIN SIDEBAR --> 
      <div ng-include="'js/view/sidebar.html'" class="page-sidebar-wrapper">   
      </div> 
      <!-- END SIDEBAR --> 
      <div class="page-content-wrapper"> 
       <div class="page-content"> 

        <div ng-view></div> 

        <div ui-view class="fade-in-up"> 
        </div> 
        <!-- END ACTUAL CONTENT --> 
       </div> 
      </div> 
     </div> 
     <!-- BEGIN FOOTER --> 
     <div data-ng-include="'js/view/footer.html'" class="page-footer"> 
     </div> 
     <!-- END FOOTER --> 
    </div> 

Вот функция, которая использует LocalStorage

app.controller("usercontroller",function($scope,$http, $localStorage,$location,flash){ 

      $scope.registeruser = $localStorage.userData; 
      $scope.adminData = $localStorage.adminData; 
      $scope.alluser = $localStorage.alluser 
      $scope.flash = flash; 
      $scope.message = "New user added successfully"; 



/****************************************************Admin Login**********************************/ 



$scope.loginpage = function(){ 

      // console.log("hello world"); 
     $http({ 
      method: 'POST', 
      url: '/api/login', 
      data: {email:$scope.email, password:$scope.password} 
     }).then(function successCallback(response) { 
      if(response.data.error) 
      { 
       alert("Invalid email pasword"); 
      } 
      else 
      { 

       $scope.dp = response.data; 
       $localStorage.adminData = $scope.dp; 
       console.log($localStorage.adminData); 
       $location.path('/dashboard'); 

      } 
     }, function errorCallback(response) { 
      alert("Invalid email pasword"); 
     }); 
    } 

}); 

вот мой файл маршрут app.js

var express = require('express'); 
var path = require('path'); 
var multer = require('multer'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 

var routes = require('./routes/index'); 
var api = require('./routes/api'); 
var users = require('./routes/users'); 

/* Database connectivity here */ 
var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/ditroapp'); 
var db = mongoose.connection; 

db.on('error', function (err) { 
    console.log('mongo connection error', err); 
}); 

db.once('open', function() { 
    console.log('mongo connected.'); 
}); 

var app = express(); 

// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'ejs'); 

// uncomment after placing your favicon in /public 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', routes); 
app.use('/api', api); 
app.use('/users', users); 
//app.use('/login', login); 

// catch 404 and forward to error handler 
app.use(function(req, res, next) { 
    var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
}); 


// error handlers 

// development error handler 
// will print stacktrace 
if (app.get('env') === 'development') { 
    app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
     message: err.message, 
     error: err 
    }); 
    }); 
} 

// production error handler 
// no stacktraces leaked to user 
app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
    message: err.message, 
    error: {} 
    }); 
}); 


module.exports = app; 

, когда я получаю {{adminData.name}} в header.html это не отображается.

Но если я использую же в основной файл контента, который использует

<div ng-view></div> что отображающее имя администратора.

Почему он не работает в файле заголовка.

+0

любая ошибка консоли? является ли контроллер таким же для основного вида и заголовка? делиться контроллерами для обоих, если не то же самое – Deep

+0

нет ошибки в консоли, и я использую index.ejs, поэтому контроллер работает для основного файла содержимого, потому что контроллер отправляет файл просмотра в файл index.ejs –

+0

где эта функция определена $ scope.loginpage? Не могли бы вы поделиться этим контроллером? – Deep

ответ

1

Попробуйте с этим в app.js

app.run(function($rootScope,$localStorage) { 

     $rootScope.admindata= $localStorage.adminData; 
}); 
+0

Спасибо за то, что он работает для меня –

+0

NP :) рад, что я мог помочь – Deep

 Смежные вопросы

  • Нет связанных вопросов^_^