AngularJS:如何将数据从指令传递给控制器​​函数

前端之家收集整理的这篇文章主要介绍了AngularJS:如何将数据从指令传递给控制器​​函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将指令中的一些数据传递给我的控制器中的函数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.

猜你在找的Angularjs相关文章