AngularJS Directive中link的四个参数究竟是什么

AngularJS中的Directive简直是个深渊,今天又小小的跟它杠上了。

以这一段为例:

app.directive('posts', function() {
    return {
        scope: {
            adding: '&'
        },
        //require: 'ngModel',
        controller: 'AppController',
        link: function(scope, elm, attrs, ctrl) {
            console.log(scope);
            console.log(elm);
            console.log(attrs);
            console.log(ctrl);
        },
        template: '<input type="text" name="author" placeholder="author" ng-model="author" required><input type="text" name="content" placeholder="content" ng-model="content"><input value="post" type="submit" ng-click="adding({msg:{author:author, content: content}})">',
    };
});

通过console.log我们可以观察一下到底各个是什么东西。

scope:输出一个作用域,这个作用域是由Controller决定的,如果没有定义,是空值。

elm:输出一个元素数组,数组中的每个元素是调用directive的DOM树

attrs:输出一个Object, Object内是该DOM元素的各种属性方法

ctrl:输出一个Object,是对应的controller

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 知识, 语法, AngularJS

添加新评论