2017-08-14 5 views
0

私は自分のアプリケーションにAngularjsを使用していますが、モジュール間でデータを転送したい、すべての方法を試しましたが、データは渡されません。ここで私のコードを見てください。Angularjsがあるモジュールから別のモジュールに値を渡しています

  1. 私は、特定の部門をクリックしながら、私は、各部門が独自のページを持つことになり、モジュールをdepartmentappする部門IDを渡すしたい、frontappモジュール内の部門と呼ばれるページがあります。

    <a href="./school"><h5>{{school.schoolName}}</h5></a> 
    <ul data-ng-repeat="department in school.departments"> 
    <li data-ng-click="getdepartmentBydepartmentId(department.departmentId);setDepartmentId(department.departmentId)"> 
        <a href="./department"> {{department.departName}}</a> 
    </li> 
    
  2. コントローラ

    $scope.getdepartmentBydepartmentId = function(departmentId){ 
        SchoolService.getdepartmentBydepartmentId(departmentId).then(function(response){ 
         $scope.department= response.data; 
        }); 
    } 
    
    $scope.getDepartmentId=function(){ 
        SchoolService.getDepartmentId().then(function(response){ 
         $scope.departmentId = response.data; 
        }); 
    } 
    
    $scope.setDepartmentId=function(departmentId) 
    { 
        //Some authentication code... 
        alert(departmentId); 
        SchoolService.setDepartmentId(departmentId); 
        alert(SchoolService.getDepartmentId()); 
    
        //Here I want to pass the username to homectrl.js 
        window.location.href="./department" 
    } 
    
  3. のコードは、サービスJSのコードはdepartmentappモジュールで

    obj.getDepartmentId=function(){ 
        return departmentIDSchool; 
    }; 
    
    obj.setDepartmentId=function(departmentID){ 
        // var departmentID = null; 
        departmentIDSchool = departmentID; 
    }; 
    
    obj.getdepartmentBydepartmentId=function(departmentId){ 
        return $http.post('getdepartmentBydepartmentId?departmentId='+departmentId); 
    }; 
    
  4. ファイル - departmentcontroller.js

    app.controller("SchoolController", SchoolController); 
    app.service("SchoolService",SchoolService); 
    angular.module("frontApp").SchoolService.getDepartmentId().then(function(response){ 
        $scope.departmentId = response.data; 
        alert($scope.departmentId); 
    }); 
    

しかし、ここでは私は取得していません。スタックのオーバーフローで多くの質問を行った後、私はサービス層でゲッターとセッターが必要であることを知りましたが、それを置いても機能しません。誰かが私をここで助けることができますか?あなたはtemplateUrlで$ routeParamsを参照してください。ルータに簡単に

$routeProvider.when('/:primaryNav/:secondaryNav', { 
     templateUrl: 'resources/angular/templates/nav/'+$routeParams.primaryNav+'/'+$routeParams.secondaryNav+'.html' 
    }); 

をそのような変数を渡すことができます

答えて

0

、あなたものparamsを得るためにあなたのコントローラに注入することができます。

+0

これは機能しません。 –

関連する問題