详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用


Posted in Javascript onAugust 23, 2017

对于一个Html5框架的好坏,我们有几个评判标准, 轻量级,可拓展,易复用,速度快。

对组件复用这点,angular以directive的形式展示给开发者,是一个还算不错的选择,作为一个UI组件,必定存在数据交互。

那么数据交互过程中的几个符号我们一定要有所了解,以及他们的区别是什么,防止我们在运用过程中出错。

1. 首先,我们看一scope作用域下面@的使用:

html

<!doctype html> 
<html ng-app='myApp'>  
 <head>   

 </head>  
 <body>    

 <div ng-controller="listCtrl">   
  <input type="text" ng-model="t" /> 
   <test title="{{t}}" > 
    <span>我的angularjs</span> 
  </test> 
</div>  
<script type="text/javascript" src="angular.js"></script> 
<script type="text/javascript" src="main.js"></script> 
</body></html>

js

var myApp=angular.module('myApp',[]); 
myApp.controller('listCtrl',function($scope){ 
  $scope.logchore="motorola"; 
}); 


myApp.directive('test',function(){ 
  return { 
    'restrict':'E', 
    scope:{ 
      title:"@" 
    }, 
    template:'<div >{{title}}</div>' 

  } 
});

这个必须指定的,这里的title是指令里scope的@对应的,t就是控制域scope下的 .

2. = 的使用。

html

<!doctype html> 
<html ng-app='myApp'>  
 <head>   

 </head>  
 <body>    

 <div ng-controller="listCtrl">   
  <input type="text" ng-model="t" /> 
   <test title="t" > 
    <p>{{title}}</p> 
    <span>我的angularjs</span> 
  </test> 
</div>  
<script type="text/javascript" src="angular.js"></script> 
<script type="text/javascript" src="main05.js"></script> 
</body></html>

js

var myApp=angular.module('myApp',[]); 
myApp.controller('listCtrl',function($scope){ 
  $scope.logchore="motorola"; 
}); 


myApp.directive('test',function(){ 
  return { 
    'restrict':'E', 
    scope:{ 
      title:"=" 
    }, 
    template:'<div >{{title}}</div>' 

  } 
});

和上面@相比,这个直接赋值等于scope域下的t了

3. 最好我们看看&符号的使用

html

<!doctype html> 
<html ng-app='myApp'>  
 <head>   

 </head>  
 <body>    

 <div ng-controller="listCtrl">   
   <test flavor="logchore()" ></test> 
</div>  
<script type="text/javascript" src="angular.js"></script> 
<script type="text/javascript" src="main05.js"></script> 
</body></html>

js

var myApp=angular.module('myApp',[]); 
myApp.controller('listCtrl',function($scope){ 
  $scope.logchore=function(){ 
    alert('ok'); 
  }; 
}); 


myApp.directive('test',function(){ 
  return { 
    'restrict':'E', 
    scope:{ 
      flavor:"&"  
    }, 
    template:'<div ><button ng-click="flavor()"></button></div>' 

  } 
});

尝试一下,就明白了,简洁明了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
Jul 20 Javascript
js constructor的实际作用分析
Nov 15 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
Aug 01 Javascript
详解AngularJS中的依赖注入机制
Jun 17 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
Dec 14 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
Apr 14 Javascript
总结jQuery插件开发中的一些要点
May 16 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
Vue列表如何实现滚动到指定位置样式改变效果
May 09 Javascript
Vue watch响应数据实现方法解析
Jul 10 Javascript
JavaScript实现的数字与字符串转换功能示例
Aug 23 #Javascript
最基础的vue.js双向绑定操作
Aug 23 #Javascript
vue组件实现文字居中对齐的方法
Aug 23 #Javascript
React+react-dropzone+node.js实现图片上传的示例代码
Aug 23 #Javascript
深入理解React中何时使用箭头函数
Aug 23 #Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 #jQuery
JS数组交集、并集、差集的示例代码
Aug 23 #Javascript
You might like
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
php实现上传图片文件代码
2015/07/19 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
python抽取指定url页面的title方法
2018/05/11 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
python 字符串常用方法汇总详解
2019/09/16 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
keras 多任务多loss实例
2020/06/22 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
init进程的作用
2015/08/20 面试题
会计人员岗位职责
2014/03/19 职场文书
公司开业庆典主持词
2014/03/21 职场文书
销售顾问工作计划书
2014/08/15 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
公司股份合作协议书
2014/12/07 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
五年级作文之成长
2019/09/16 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
alibaba seata服务端具体实现
2022/02/24 Java/Android