2015-06-19 152 views
0

我建立一個系統,我有一個列表與變量

  1. 標題列出的項目
  2. 技能
  3. 預算
  4. 發佈

我也有一個模式,它開創了當我點擊列表中的一個項目。我想採用當前選定的項目並在我的第二個模態控制器中使用它的變量?這可能嗎?

我正在考慮使用服務,其中我從數據庫中提取所有數據,但我不知道如何顯示選定的項目,而不是模式中的每個項目。

這裏是我的列表項控制:

app.controller('openProjectsCtrl', ['$scope', '$http', 'projectsModal', 
function ($scope, $http, projectsModal) { 

    $http.get("http://localhost/app/controllers/php/getProjects.php") 
    .success(function (response) { 
    $scope.projects = response.projects; 
    }); 

    $scope.showModal = function() { 
     projectsModal.deactivate(); 
     projectsModal.activate(); 
    };  

}]); 

模態控制器(這裏我要查看所選變量):

app.controller('projectsModalCtrl', ['$scope', '$timeout', 'projectsModal', 
function ($scope, $timeout, projectsModal) { 

var ctrl = this; 

ctrl.closeMe = function() { 
    projectsModal.deactivate(); 
}; 

}]); 
+0

什麼樣的模式是?角UI? –

回答

2

是的,你可以使用裏面另外一個控制器的變量控制器使用兩種方法

  1. 創建服務以在它們之間進行通信。 。
  2. 使用$ rootScope $廣播

示例代碼

angular.module('myservice', []).service('msgBus', function() { 
     this.serviceValue= {}; 

    }]); 
}); 

,並用它在控制器這樣的:

控制器1

angular.module('myservice', []).controller('ctrl1',function($scope, msgBus) { 
    $scope.sendmsg = function() { 
     msgBus.serviceValue='Hello'; 
    } 
}); 

控制器2

angular.module('myservice', []).controller('ctrl2',function($scope, msgBus) { 
$scope.checkValue(){ 
alert(msgBus.serviceValue); 
} 
}); 
+0

好吧我明白服務可以使用,但你如何只顯示SELECTED列表項的數據。我只知道該方法緩存$ http的結果,但那會顯示所有結果? – Elevant

+0

您可以在您的