私は2つのjsファイル、すなわちcollegeApp.jsとbranchApp.jsを持っています。私は、collegeApp.js ng-appと、branchApp.js ng-appの中にあるBranchController.jsの2つのControllerController.jsを持っています。1つのコントローラから別のng-appファイルのidに渡す
私のHTMLから別のページにリダイレクトしています。
は、ここに私のHTML
<li data-ng-click="getBranchByBranchId(branch.branchId); setBranchId(branch.branchId)">
{{branch.branchName}}
</li>
このHTMLページはcollegeApp.js.After私はメソッドを呼び出していますし、そのコントローラは、次のようになりブランチ名をクリックしてです。
CollegeController.js
var CollegeController = function($scope, $rootScope, $http, $location, $route,CollegeService,$routeParams) {
$rootScope.pageTitle = $route.current.title;
$scope.getBranchId = function() {
CollegeService.getBranchId().then(function(response) {
$scope.branchId = response.data;
});
}
$scope.setBranchId=function(branchId) {
CollegeService.setBranchId(branchId);
$rootScope.passBranchId = branchId;
window.location.href="./branch?
branchId='+$rootScope.passBranchId";//Here I am redirecting to branch page with id.//
}
}
分岐ページbranchApp.jsであり、コードの上にcollegeApp.jsです。 BranchController.jsで、前のページから送信されたbranchIdをキャッチしようとしています。
BranchController.js
var BranchController = function($scope, $rootScope, $http, $location, $route,BranchService,$routeParams)
{
$scope.branchId = $rootScope.passBranchId;//Here i am trying to get branchId//
console.log($scope.branchId);//I am getting undefined.
}
私は彼らの$ rootScope、$ routeParams.Butどれも働いていない試みました。 私はbranchIdをcollegeAppからbranchAppに渡すことができる方法はありますか?または私は何かが不足していますか?
サービスを使ってデータを共有することを提案するつもりでしたが、これは目的であるためですが、既にサービスを使用しています。ちょうど 'CollegeService'を' BranchController'に追加し、そこに 'CollegeService.getBranchId()'を呼び出すのはなぜですか? –
BranchControllerのBranchController.Nowに依存関係としてCollegeServiceを追加しました。私は直接getBranchId()を呼び出すことができますか? –
ええ、なぜ私は見ていない。コントローラ/ディレクティブ/コンポーネント間でロジック/データを共有できるようにするサービスの全体的なポイント。 –