CodeSky 代码之空

随手记录自己的学习过程

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

2015-08-17 22:03分类: JavaScript评论: 0

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

以这一段为例:

1app.directive('posts', function() {
2	return {
3		scope: {
4			adding: '&'
5		},
6		//require: 'ngModel',
7		controller: 'AppController',
8		link: function(scope, elm, attrs, ctrl) {
9			console.log(scope);
10			console.log(elm);
11			console.log(attrs);
12			console.log(ctrl);
13		},
14		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}})">',
15	};
16});
17

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

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

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

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

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

评论 (0)