简体   繁体   English

ng-click in指令不起作用

[英]ng-click in directive not working

card-drawer.html (template) card-drawer.html(模板)

<div class="card-drawer-wrapper">
<div class="card-drawer-icon" ngClick="cdCtrl.toggle()">
    <i class="icon--{{ icon }}"/>
</div>
<div class="{{'card-drawer ' + (classesToAdd || '' )}}">
    <ng-transclude></ng-transclude>
</div>

cardDrawer.ts (directive and controller) cardDrawer.ts(指令和控制器)

declare var _:UnderscoreStatic;

class CardDrawerController {
static $inject = [];

toggle() {
    alert('toggled');
}
}

CardDrawerDirective.$inject = [];

export interface ICardDrawerScope {
icon: string
classesToAdd: string
}

export interface ICardDrawerAttributes extends ng.IAttributes {
icon: string
'classes-to-add': string
}

export function CardDrawerDirective():ng.IDirective {
return {
    restrict: 'A',
    templateUrl: 'card-drawer.html',
    controller: CardDrawerController,
    controllerAs: 'cdCtrl',
    scope: true,
    replace: true,
    transclude: true,
    link(scope:ICardDrawerScope, element:ng.IAugmentedJQuery, attrs:ICardDrawerAttributes, controller:CardDrawerController) {
        scope.icon = attrs.icon || 'pencil';
    }
};
}

html (this is how i want to use it.) html(这是我要使用的方式。)

<div card-drawer>
        Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet
        risus. Sed posuere consectetur est at lobortis. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.
        Donec sed odio dui. Nullam id dolor id nibh ultricies vehicula ut id elit.                      
</div>

在div中尝试ng-click ,而不是ngClick来调用您的fn。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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