AngularJS向指令传递数据
我今天要实现的功能是利用AngularJS来完成客户端过滤器。
list.html页面主要代码如下:
......
<div class='tj_con_tr_ipt' ng-init="reportKey = ''">
<input type='text' class='tj_con_tr_ipts' placeholder='请输入资料名称关键字' ng-model="reportKey"/>
</div>
......
<div class="tj_main_bg"><img src="report/images/bookshelf_background.png" width="100%" height="100%"/></div>
<report-shelf one-shelf-volume="oneShelfVolume"></report-shelf>
......
directive.js页面主要代码如下:
angular.module("decisionMakingApp.report.shelf", ["ngUnderscore","decisionMakingApp.report.service"])
.directive("reportShelf", ["$state","underscore","reportService",
function ($state,underscore,reportService) {
return {
restrict: "E",
replace: true,
scope: {
oneShelfVolume: "=oneShelfVolume"
},
templateUrl: "report/list/template.html",
link: function (scope) {
var _partition = function (items, size) {
var result = underscore.groupBy(items, function (item, i) {
return Math.floor(i / size);
});
return underscore.values(result);
};
......
}
}]);
template.html页面主要代码如下:
......
<li class="tj_mainer_zili" ng-repeat="report in reportShelf | filter:{name:reportKey}" ui-sref="report_viewer({report_name:report.name})">
<div class="tj_mainer_zili_pic"><img src="{{report.cover_url}}" style="width:96px;height:125px;"/></div>
<div class="tj_mainer_zili_txt">{{report.name}}</div>
</li>
......
在template.html页面过滤器硬编码是能过滤的。但与页面搜索框功能不能实现,不能实现双向绑定。如果没有写指令,而是同一页面,是完全可以实现的。最后发现:
问题就在于绑定的reportKey没有传入模板页面。
第一步是在DOM中像传递参数给函数那样,通过属性来设置值:
在list.html页面在report-shelf自定义指令中加入report-key="reportKey"属性。
第二步在directive.js页面的隔离作用域内加入reportKey : "=reportKey"。
这样的话就是通过属性将DOM中ng-model绑定的值复制到隔离作用域中。完成。
AngularJS向指令传递数据的更多相关文章
- angularjs深入理解向指令传递数据,双向绑定机制
<!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...
- angularjs向后台传递数据,与后端进行交互
angularjs之数据交互 function loadLeftFirstNodes (){ $http.get(sourceUrl,{ params:{ mpId: mpId, visits: ce ...
- AngularJS + Java---前台网页与后台数据库传递数据 基本结构
第一个关于这两种语言的项目,以下只是我自己的理解,欢迎指教:) 基本对应关系 1. controller .jsp(.html) ng-controller="controllerTest ...
- AngularJS: 自定义指令与控制器数据交互
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- AngularJs 父子级Controller传递数据
<div ng-controller="MyAccountCtrl"> <div ng-controller="TransferCtrl"&g ...
- angular input标签只能单向传递数据的问题
angularjs input标签只能单向传递数据的问题 <ion-view title = "{{roomName}}" style = "height:90%; ...
- AngularJS之指令
紧接上篇博客“初探AngularJS” 一.前言 在AngularJS中指令尤为重要且内容庞多,固单独提炼出来,梳理一番.如有错误,请不吝讲解. 好了,言归正传,让我们一起走进Angular指令的世界 ...
- AngularJS之指令中controller与link(十二)
前言 在指令中存在controller和link属性,对这二者心生有点疑问,于是找了资料学习下. 话题 首先我们来看看代码再来分析分析. 第一次尝试 页面: <custom-directive& ...
- 带你走近AngularJS - 体验指令实例
带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...
随机推荐
- 为什么要加 -moz- -webkit- -ms- -o- ?
没有别的,为了兼容早期版本,为了解决CSS3标准正式发布以前的遗留问题.
- 如何用jquery获取页面下HiddenField的值··
怎么用jquery获取页面上HiddenField的值·· 怎么用jquery获取页面上HiddenField的值··?HiddenField的值是从后台赋值的··· 先赋值给Hiddenfield ...
- Hadoop之为何不使用RAID?
一.引言: 在一次和同事的讨论中遇到一个这样的问题:有一个hadoop集群,在hbase的put数据出现瓶颈,他们想要把datanode上的磁盘做成RAID 0(比如10块磁盘做成一个RAID 0), ...
- JAVA设计模式——单例模式
单例模式的定义: Ensure a class has only one instance, and provide a global point of access to it.( 确保某一个类只有 ...
- JavaScript DOM 编程艺术(第2版)读书笔记 (9)
三位一体的网页 结构层:由HTML或XHTML之类的标记语言负责创建: 表示层:由CSS负责完成: 行为层:负责内容应该如何响应事件这一问题.这是由JavaScript语言和DOM主宰的领域. 分离 ...
- Cable TV Network-POJ1966图的连通度
Cable TV Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4404 Accepted: 2047 Desc ...
- 【20160924】GOCVHelper 图像处理部分(2)
//根据轮廓的面积大小进行选择 vector<VP> selectShapeArea(Mat src,Mat& draw,vector<VP> contour ...
- Swashbuckle for asp.net core 配置说明
0x00 安装 Swashbuckle 6.0 打开程序包管理器控制台,输入: Install-Package Swashbuckle -Pre 0x01 配置 Startup.cs public v ...
- OGNL_一点
ognl此表达式语言,是一门什么样的语言呢?下面然我为大家简单的讲解一点小小的关于它的内容吧! 然我来简单得解释说:OGNL(Object-Graph Navigation Language),可以方 ...
- SELinux深入理解
ps:今天在远程给服务器配置https的时候,一直乱码,以前做系统的系统第一件事情,就是关闭selinx,今天忘记了,然后就悲剧了... 弄了半天才弄好,镇定思痛,好好的来看下selinux 1. 简 ...