2017-07-28 38 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