2017-03-15 62 views
0

我想从父范围访问一个函数,甚至当看到这个相当多的帖子,我似乎无法找到我做错了什么。首先,我有哪里我打电话MS卡指令,这样的页面:从父范围访问函数的模板

<div ng-if="vm.isPhone ? ($index < 2) : ($index < 5)" flex="50" flex-xs="50" flex-sm="33" flex-md="25" flex-gt-md="20" ng-repeat="item in vm.OffersData[val.key]"> 
    <ms-card template="'app/main/offers/offer-card-template/offerCardTemplate.html'" ng-model="item" view-model="vm"></ms-card> 
</div> 

请记住,我是通过发送该项目做的很好,它是显示我的一切,是在那里。现在,这是指令的样子:

(function() { 
    'use strict'; 
    angular.module('app.core').directive('msCard', msCardDirective); 
    /** @ngInject */ 
    function msCardDirective() { 
     return { 
      restrict: 'E' 
      , scope: { 
       templatePath: '=template' 
       , card: '=ngModel' 
       , vm: '=viewModel' 
      } 
      , template: '<div class="ms-card-content-wrapper" ng-include="templatePath" onload="cardTemplateLoaded()"></div>' 
      , compile: function (tElement) { 
       // Add class 
       tElement.addClass('ms-card'); 
       return function postLink(scope, iElement) { 
        // Methods 
        scope.cardTemplateLoaded = cardTemplateLoaded; 
        ////////// 
        /** 
        * Emit cardTemplateLoaded event 
        */ 
        function cardTemplateLoaded() { 
         scope.$emit('msCard::cardTemplateLoaded', iElement); 
        } 
       }; 
      } 
     }; 
    } 
})(); 

最后我试图调用该函数在卡这样的:

<div class="media" ng-click="vm.showDetailedOffer(card.shopkey, card.key)"> <img class="image" ng-src="{{card.img}}" fallback-src onload-src> </div> 

任何帮助是非常赞赏

回答

0

的我在制作的错误是在父控制器(上面没有显示)。我将函数showDetailedOffer定义为:$ scope.showDetailedOffer = function。但它应该是vm.showDetailedOffer ..