简体   繁体   中英

Getting $last and $parent in my directive

I'm trying to get $last value in my directive but i don't know how to do this. I tryed so many things, i'm quite lost now.

Here is my directive call:

competitionvalue(ng-repeat="object in page_data.tags_data" namepopover="tagsPopover" object="object" objectkey="object.value" cssstylevalue="")

And this is my directive :

.directive('competitionvalue', function() {
    var template = '<span ns-popover="ns-popover" ns-popover-trigger="contextmenu" ns-popover-placement="bottom|left" ns-popover-template="{{ namepopover }}" ns-popover-theme="popoverMenu" ns-popover-timeout="-1"><span ng-if="object.rejectedOn"><span style="{{ stylevalue }}" class="rejected">{{ objectkey }}</span></span><span ng-if="!object.rejectedOn"><span style="{{ stylevalue }}">{{objectkey}}</span></span> LASTITEM </span>';

    function getTemplate($parent) {
        if ($parent.$parent.$last)                
            var temp = template.replace('LASTITEM', '');
        else 
            var temp = template.replace('LASTITEM', ' <span> | </span> ');
        return (temp);
    }

    var templateString = getTemplate(??);
    return {
        transclude: true,
        restrict: 'E',
        scope: {
            namepopover: '=namepopover',
            object: '=object',
            objectkey: '=objectkey',
            stylevalue: '@cssstylevalue',
        },
        template: templateString
    }
});

I tryed to use:

link: function() {}

But the function is call after the return.. And I don't know how to access to my $parent.$parent in my directive.

Thank you in advance.

You can pass $last into your directive like so Plunkr

$parent can be similarly passed

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM