发表于: 2017-01-04 00:57:12

1 1530


今天完成的事情:看了用angularJs开发下一代web应用的指令章节;看了angularJS权威教程的作用域、控制器、表达式、过滤器、指令简介、内置指令、指令详解章节;看了下分治算法的实现;看了下perl的特性


明天计划的事情:继续看指令,不弄懂不看别的js方面的知识了,这是angular核心之一,比其他死记或者拿来用的知识有用多了,熟练掌握指令才能提高竞争力。


遇到的问题:学习曲线有点陡峭,感觉自定义指令里属性、概念很多、用法不是那么容易理解和应用,也没有什么好的demo能形象的学习。求大神分享好的学习方法。


收获:

var myModule = angular.module(...);

myModule.directive('namespaceDirectiveName', function

factory(injectables) {

var directiveDefinitionObject = {

restrict: string,

priority: number,

template: string,

templateUrl: string,

replace: bool,

transclude: bool,

scope: bool or object,

controller: function controllerConstructor($scope, $element,

$attrs, $transclude){...},

require: string,

link: function postLink(scope, iElement, iAttrs) {...},

compile: function compile(tElement, tAttrs, transclude){

return: {

pre: function preLink(scope, iElement, iAttrs,

controller){...},

post: function postLink(scope, iElement, iAttrs,

controller){...}

}

}

};

return directiveDefinitionObject;

});


restrict

声明指令可以作为一个元素, 属性, 类, 注释或者任意的组合如何用于模板

priority

优先级

template

指令一个作为字符串的内联模板. 如果你指定一个模板URL 就不要使用这个

模板属性

replace

如果为true, 则替换当前元素. 如果为false 或者未指定, 则将这个指令

追加到当前元素上

transclude

让你将一个指令的原始自节点移动到心模板位置内

scope

为这个指令创建一个新的作用域而不是继承父作用域

controller

为跨指令通信创建一个发布的API

require

需要其他指令服务于这个指令来正确的发挥作用

link

以编程的方式修改生成的DOM 元素实例, 添加事件监听器, 设置数据绑

compile

以编程的方式修改一个指令的DOM 模板的副本特性, 如同使用`ng-repeat`

时. 你的编译函数也可以返回链接函数来修改生成元素的实例



返回列表 返回列表
评论

    分享到