我正在尝试将指令中的一些数据传递给我的控制器中的函数addTrackFromPicker.
$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',...
在这里,我想从我的模板中调用控制器函数,并将它作为参数传递给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>
如果其他内容对您的情况更有意义,您可以使用除数据之外的“参数名称”.有关其工作原理的详细信息,请参见Angular’s documentation on scope
.