2017-03-15 28 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 ..