2017-07-28 69 views
0

我想用我的ng-click獲得的參數作爲$ scope變量在我的網站上的任何地方使用它。

我的控制器:

music.controller('musicController', function($scope, $rootScope, $location, musicControl) { 
    $scope.titles = [ 
    { 
    title: 'New Divide', 
    artist: 'Linkin Park', 
    album: 'New Divide', 
    genre: 'Rock', 
    cover: 'new-divide.jpg', 
    titleLength: '4:28', 
    file: 'test' 
    } 
    ]; 
    $scope.playListMusic = function(titleName) { 
    $rootScope.titleName = titleName; 
    musicControl.playListMusic(); 
    } 
//... 
}); 

我的NG-點擊鏈接:

<div ng-repeat="title in titles | unique:'album' | filter:search" class="row content"> 
/... 
<span ng-click='playListMusic(title.title)' class="badge music-control"> 
+2

我想在引用中的「titleName」是偶然的,但如果是這樣,傳遞的值在變量$ scope.titleName中。 – Chris

+2

您可以將'titleName'附加到'$ rootScope'或定義一個'service'並將其存儲在那裏。另外,我認爲你的意思是'$ scope.titleName = titleName' - 不帶雙引號。 –

+0

感謝您的回答。是的,雙引號只是一個測試。我忘了將它們刪除堆棧溢出。 – Liberty

回答

0

$rootScope是一個對象,所以

$rootScope.titleName = titleName; 

應該做的伎倆。

+0

謝謝你的回答。它仍然不起作用。 titleName來自ng-repeat。這可能是問題嗎?我在我的第一篇文章中添加更多信息... – Liberty

+0

我看不到'title'是如何傳遞給'html'的。也許你可以在'html'中顯示整個'ng-repeat',以及如何設置'$ scope.title'。 –

+0

已添加。 ng-repeat工作正常。 – Liberty