angular directive指令内的参数

angular.module('myApp', [])
.directive('myDirective', function() {
    return {
        restrict: String,
        priority: Number,
        terminal: Boolean,
        template: String or Template Function: function(tElement, tAttrs) {...},
        templateUrl: String,
        replace: Boolean or String,
        scope: Boolean or Object,
        transclude: Boolean,
        controller: String or function(scope, element, attrs, transclude, otherInjectables) { ... },
        controllerAs: String,
        require: String,
        link: function(scope, iElement, iAttrs) { ... },
        // 返回一个对象或连接函数,如下所示:
        compile: function(tElement, tAttrs, transclude) {
            return {
                pre: function(scope, iElement, iAttrs, controller) { ... },
                post: function(scope, iElement, iAttrs, controller) { ... }
            }
            // 或者
            return function postLink(...) { ... }
        }
    };
});

 

转载于:https://www.cnblogs.com/len0031/p/4898134.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular 中通过自定义指令可以实现对 DOM 元素的扩展和增强,自定义指令需要使用 @Directive 装饰器来进行修饰,它有以下几个参数: - selector:指定该指令要应用的 CSS 选择器。 - inputs:指定该指令的输入属性。 - host:指定该指令要监听的 DOM 事件。 - outputs:指定该指令的输出属性。 其中,selector 参数是必须提供的,它用来指定该指令要应用的 CSS 选择器,可以是元素选择器、属性选择器或类选择器等。 inputs 参数用来指定该指令的输入属性,可以是一个字符串数组或对象,对象的属性名表示输入属性的名称,属性值表示输入属性的别名。 host 参数用来指定该指令要监听的 DOM 事件,可以是一个键值对对象,键表示要监听的 DOM 事件名称,值表示要执行的回调函数。 outputs 参数用来指定该指令的输出属性,可以是一个字符串数组或对象,对象的属性名表示输出属性的名称,属性值表示输出属性的别名。 在自定义指令中,可以通过 ElementRef 类型的 element 参数来访问宿主元素,通过 Renderer2 类型的 renderer 参数来修改宿主元素的属性或样式。 在自定义指令中引入 ElementRef 类型的 element 参数需要在构造函数中声明,例如: ``` import { Directive, ElementRef } from '@angular/core'; @Directive({ selector: '[myDirective]' }) export class MyDirective { constructor(private elementRef: ElementRef) { // 在构造函数中将 elementRef 赋值给类的一个属性 this.element = elementRef.nativeElement; } private element: HTMLElement; // 定义类的一个属性 } ``` 在上面的代码中,我们将 elementRef 赋值给了类的一个属性 element,并声明了 element 为 HTMLElement 类型。这样在指令的其他方法中,就可以通过 this.element 来操作宿主元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值