angularjs实战
1.指令 transclude 保留原来的内容 replace 去掉<my-directive>指令
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div ng-app="a">
<my-directive><div>这是原来的<p>this is p</p></div></my-directive>
</div>
<script>
var app = angular.module('a', []);
app.directive('myDirective', function () {
return{
template:'<div>this is directive<div ng-transclude=""></div></div>',
transclude:true,
replace:true
}
});
</script>
2.指令绑定函数
<body ng-app="a">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div ng-controller="ctrl1">
<my-directive>鼠标移上来</my-directive>
</div>
<!--指令绑定函数 ,借助 link -->
<script>
var app = angular.module('a', []);
app.controller('ctrl1', function ($scope) {
$scope.load= function () {
console.log("loading..");
}
})
app.directive('myDirective', function () {
return{
link: function (scope,element,attrs) {
element.bind('mouseover', function () {
// scope.load();
scope.$apply("load()"); // 两种方式
})
}
}
});
</script>
3.指令复用,绑定不同函数
<body ng-app="a">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div ng-controller="ctrl1">
<my-directive howToLoad="load()">鼠标移上来1</my-directive>
</div>
<div ng-controller="ctrl2">
<my-directive howToLoad="load2()">鼠标移上来2</my-directive>
</div>
<!--指令复用,绑定不同函数 ,要添加不同属性 howToLoad -->
<script>
var app = angular.module('a', []);
app.controller('ctrl1', function ($scope) {
$scope.load= function () {
console.log("loading..");
}
})
app.controller('ctrl2', function ($scope) {
$scope.load2= function () {
console.log("loading.22.");
}
})
app.directive('myDirective', function () {
return{
link: function (scope,element,attrs) {
element.bind('mouseover', function () {
scope.$apply(attrs.howtoload);
})
}
}
});
</script>
4.独立指令 $scope:{} 使每个复用的hello指令不受影响,在第一个hello输入值时,第二个hello不受影响
<body ng-app="a">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<hello></hello><br/>
<hello></hello>
<script>
var app = angular.module('a', []);
app.directive('hello', function () {
return{
template:'<input type="text" ng-model="name">{{name}}',
scope:{}
}
})
</script>
5.指令scope @
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
隔离作用域中把 myText同dom中的your-text属性绑定
<div ng-app="a">
<hello url="http://www.baidu.com" your-text="sohu"></hello>
</div>
<script>
var app=angular.module('a',[]);
app.directive('hello', function () {
return{
template:'<div><a href="{{url}}">{{myText}}</a></div>',
replace:true,
scope:{
myText:'@yourText',
url:'@'
}
}
})
</script>
angularjs实战的更多相关文章
- AngularJS实战之Controller之间的通信
我们时常会在不同controller之间进行通信,接下来就介绍三种controller之间的通信方式 一.使用$on.$emit和$broadcast进行controller通信 虽然AngularJ ...
- AngularJS实战项目(Ⅰ)--含源码
前言 钻研ABP框架的日子,遇到了很多新的知识,因为对自己而言是新知识,所以经常卡在很多地方,迟迟不能有所突破,作为一个稍有上进心的程序员,内心绝对是不服输的,也绝对是不畏困难的,心底必然有这样一股力 ...
- AngularJs学习笔记-慕课网AngularJS实战
第1章 快速上手 放弃了IE8以及以下,不支持. 4大核心特性: 1.MVC Model: 数据模型 View:视图 Controller:业务逻辑和控制逻辑 好处:职责清晰,模块化. 2.模块化 3 ...
- AngularJS 实战讲义笔记
第一部分 快速上手 1.1 感受AngularJs四大核心特性(MVC, 模块化,指令系统,双向数据绑定)1.2 搭建自动化的前端开发,调试,测试环境 代码编辑工具 (sublime) 断点调试工具 ...
- [置顶] AngularJS实战之路由ui-sref-active使用
当我们使用angularjs的路由时,时常会出现一个需求,当选中菜单时把当前菜单的样式设置为选中状态(多数就是改变颜色) 接下来就看看Angular-UI-Router里的指令ui-sref-acti ...
- 《AngularJs实战》学习笔记(慕课网)
1. Controller使用过程中的注意点 不要试图去复用Controller, 一个控制器一般只负责一小块视图 不要在Controller中操作DOM, 这不是控制器的职责. 封装在指令里. 不要 ...
- angularJS实战(一)
angular实现列表 accessCtrl.js let AccessCtrl = function($scope, AlertService, DialogService, BigDataServ ...
- AngularJS实战之cookie的读取
<!DOCTYPE html> <html ng-controller="cookies_controller"> <head> <tit ...
- AngularJS实战之ngAnimate插件实现轮播
第一步:引入angular-animate.js 第二步:注入ngAnimate var lxApp = angular.module("lxApp", [ 'ngAnimate' ...
随机推荐
- 9.5---括号是否有效(CC150)
leetcode原题: char temp ; Stack<Character> stack = new Stack<Character>();//error:Stack< ...
- TortoiseSVN使用方法
1.初始化本地SVN目录,在某个文件夹鼠标右键点击. 初始化后目录 2.将某个目录下代码,添加到SVN目录中. 3.将添加进去代码提取出来. 在某 ...
- python tkinter用Treeview实现ListView效果
先上图 再上代码: import ttk from Tkinter import * root = Tk() tree = ttk.Treeview(root, columns=('col1','co ...
- mysql中,主键与普通索引
一.什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里 ...
- jq鼠标隐藏显示的方法
<div style="width:300px; float:left;"> <div onmouseover="testOnmouseO ...
- centos7.0 安装vsftp实录
安装VSFTP # 使用yum安装 yum -y install ftp vsftpd # 或者使用rpm安装以下两个包 .el7.x86_64 vsftpd--.el7.x86_64 # 另外需要安 ...
- MongoDB 副本集管理(不定时更新)
简介: 前面介绍完了副本集的搭建.用户的管理.参数和日常操作的说明,那副本集搭建好该如何管理呢?现在来说明下副本集的日常查看和管理. 说明: 1)查看命令行参数:db.serverCmdLineOpt ...
- java wait()和notify()、notifyAll()
图见<JAVA并发编程的艺术>P98-101 这三个方法都是java.lang.Object的方法,用于协调多个线程对共享数据的存取,必须在synchronized语句块中使用!这三个方法 ...
- 如何让ListView的item不可点击
原文链接:http://blog.csdn.net/zhangfei_jiayou/article/details/6972752 1. 如果是listView的id是使用系统默认的id,如下, 则可 ...
- android入门到熟练(五)---广播
1.广播类型:标准广播和有序广播.标准广播是异步广播在广播发出之后所有接收器几乎会同一时刻接收到,没有先后顺序,效率高,但无法被截断.有序广播则是同步广播,同一时刻只能一个接收器接收这条消息,等执行完 ...