2015-03-09 2 views
0

У меня есть директива, которая использует ngInclude, и я бы хотел вызвать функцию ctrl для родителей. Вот как я это делаю сейчас, но это не работает.Наследование родительских функций при использовании ngInclude

//MyCtrl 
$scope.shareLink = function() { 
    // do something 
}; 
<div ng-controller="MyCtrl as ctrl"> 
    <my-directive></my-directive> 
    <script type="text/ng-template" id="share-link-actions.html"> 
     <a href="#" ng-click="$parent.$parent.shareLink();">Share</a> 
    </script> 
</div> 

<!-- myDirective --> 
<div class="myDirective1"> 
    <div ng-include="share-link-actions.html"></div> 
</div> 

ответ

0

Попробуйте так:

JS

directive("myDirective", function() { 
    return { 
     restrict: "E", 
     template: "<a href='#' ng-click='shareLink();'>Share</a>" 
    }; 
}); 

Markup

<div ng-controller="MyCtrl as ctrl"> 
    <my-directive></my-directive> 
</div> 
Смежные вопросы