我试图将指令中的一些数据传递给函数 addTrackFromPicker
在我的 Controller 中。
$scope.addTrackFromPicker = function (message) {
console.log("addTrackFromPicker", message);
};
这是我的指令中的内容
dir.directive('youtubeList', function($http, $timeout, YT_event){
return {
restrict: 'E',
scope: {
search: '=',
dial: '&'
},
templateUrl: 'youtube-list.html',
...
在这里,我想从我的模板中调用 Controller 函数并传递它
item.id.$t
作为论据:<div class="media list-group-item" ng-repeat="item in entries">
<a type="button" ng-click="dial(item.id.$t)">
<img ng-src="{{item.media$group.media$thumbnail[0].url}}">
</a>
但我不知道如何将它传递到我的标签中
<youtube-list search="search" dial="addTrackFromPicker(???)"></youtube-list>
我也试过
$parent.addTrackFromPicker
但它没有用
最佳答案
为了从指令中传递数据,您需要这样做:
<youtube-list search="search" dial="addTrackFromPicker(data)"></youtube-list>
然后,在您的模板中:
<div class="media list-group-item" ng-repeat="item in entries">
<a type="button" ng-click="dial({data: item.id.$t})">
<img ng-src="{{item.media$group.media$thumbnail[0].url}}">
</a>
</div>
您可以使用除
data
之外的“参数名称”如果其他事情对您的情况更有意义。见 Angular's documentation on scope
有关其工作原理的详细信息。
关于AngularJS : How to pass data from directive to controllers function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29544385/