angular中的 ng-change

<!DOCTYPE HTML>

<html ng-app="myApp">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

<script src="js/angular.min.js"></script>

</head>

<body>

<div ng-controller="main">

<!--ng-change 函数重点 ng-change 事件在值的每次改变时触发,它不需要等待一个完成的修改过程,或等待失去焦点的动作-->

<input type="text" ng-model="userinput" ng-change="handleChange()"/>

<!--ng-click 函数重点-->

<input type="button" value="查找" ng-click="check()">

<table border=1>

<thead>

<!-- //传参数是字符串要加上引号 -->

<th ng-click="handleNameClick()">姓名</th>

<th ng-click="handleAgeClick()">年龄</th>

</thead>

<tbody>

<tr ng-repeat="data in datalist">

<td>{{data.name}}</td>

<td>{{data.age}}</td>

</tr>

</tbody>

</table>

</div>

<script>

var m1 = angular.module(‘myApp‘,[]);

m1.controller(‘main‘, [‘$scope‘,"$filter", function($scope,$filter){

$scope.datalist = [

{name:"ccc",age:10},

{name:"aaa",age:50},

{name:"eeee",age:30},

{name:"addd",age:20},

{name:"bbb",age:40},

]

//此处是重点,虽然是浅复制,但是效果也是一样,

//为什么要进行复制呢?主要是因为,当你搜索的时候,显示出效果,然后按backspace键的时候,下面的表格可以恢复到没有搜索以前的样子

//若果不进行复制,则搜索完之后,表格中的内容返回不回来了

var datalist = $scope.datalist;

$scope.isNameClicked = false;

$scope.isAgeClicked = false;

$scope.handleNameClick =function(){

$scope.datalist = $filter("orderBy")($scope.datalist,"name",$scope.isNameClicked);

//为什么要进行true 和false 的转换,可以反复的进行排序,要不然只能进行一次排序,然后就返回不会来了。

$scope.isNameClicked = !$scope.isNameClicked;

}

$scope.handleAgeClick =function(){

$scope.datalist = $filter("orderBy")($scope.datalist,"age",$scope.isAgeClicked);

$scope.isAgeClicked = !$scope.isAgeClicked;

}

$scope.handleChange = function(){

//$scope.userinput 输入框中的内容 ,datalist为 数组中的数据

//filter也是关键字。相当于orderBy

$scope.datalist = $filter("filter")(datalist,$scope.userinput);

console.log($scope.datalist);

console.log(datalist);

}

}])

</script>

</body>

</html>

时间: 2024-10-19 02:27:29

angular中的 ng-change的相关文章

angular中的ng.function

网址:http://www.angularjsapi.cn/#/copy angular.bind 描述:函数以及参数的动态绑定,返回值为动态绑定之后的函数.其中args是可选的动态参数,self在fn中使用this调用. 使用方法是:angular.bind(self,fn,args) 其中self的参数类型是obj,fn的参数类型是function,args传入fn的参数. 例子: var self = {zhaunglongfei:"boyi"};var f = angular.

angular中出现错误的提示指令[ng:areq]的原因

angular.min.js:80 Error: [ng:areq] http://errors.angularjs.org/1.2.9/ng/areq?p0=sellerService&p1=not%20a%20function%2C%20got%20undefined at angular.min.js:2 at ub (angular.min.js:14) at Pa (angular.min.js:14) at angular.min.js:57 at angular.min.js:45

angular中模板

<!DOCTYPE html><!--调用模块--><html lang="en" ng-app="myApp"><head> <meta charset="UTF-8"> <script src="js/angular.js"></script> <title>Title</title></head><

angular中的通信方式

在项目中,我们可能会很经常性的利用到控制器之间的相互通信,在angular中的控制器之间的相互通信有以下几种方式: 1)通过本地数据的存储localstorage,sessionstorage, 2)通过rootScope,顶级作用域 3)通过$broadcast,$on,$emit的方式进行通信 在此就讲解下如何通过第三种方式进行通信的问题: $broadcast:顾名思义是广播的意思,一般用于父级控制器向子控制器传递信息的方法. $emit:主要是用于子控制器向父控制器传递信息的方法. $o

Angular中的内置指令和自定义指令

NG中的指令,到底是什么(what)? 为什么会有(why)?以及怎样使用(how)? What: 在NG中,指令扩展HTML功能,为 DOM 元素调用方法.定义行为绑定数据等. Why: 最大程度减少DOM操作,实现数据绑定,与业务逻辑进行交互. How: 指令主要分为两种:内置指令和自定义指令,通过下面的例子,简单记录一下如何去使用. 内置指令 在官方API文档上罗列了很多指令,内置指令可以分为:普通指令 和 事件指令,他们都是作用于HTML之上的,通过添加属性的方式来实现的.简单看一下一些

在 Angular 中实现搜索关键字高亮

在 Angular 中,我们不应该试图直接修改 DOM 的内容,当需要更新 DOM 内容的时候,应该修改的其实是我们的数据模型,也就是 $scope 中的数据,Angular 会帮助我们将修改之后的数据展示在页面中. 但是,在有些情况下,比如我们有一个搜索框,希望将搜索的关键字在正文中高亮出来,这时候就会感觉比较吃力了,filter 可以帮助我们处理这种情况. 实际上,很多时候,我们的数据是不能直接输出到 DOM 中的,典型的比如日期,或者货币等等,通常需要将我们内部的数据格式化之后,再输出到页

angular中的表单验证

angular中的表单验证很强大, 一共有5中验证信息,$valid,$invalid,$pristine,$dirty,$error. $valid-----当验证通过的时候,为true,不通过的时候为false $invalid----当验证不通过的时候,为true,通过的时候为true $pristine---当值为初始值的时候,为true,一旦有过改动即为false $dirty---当值有改动过即为true,其他即为false $error---包含所有的验证信息,如以下例子,$err

angular中的MVVM模式

在开始介绍angular原理之前,我们有必要先了解下mvvm模式在angular中运用.虽然在angular社区一直将angular统称为前端MVC框架,同时angular团队也称它为MVW(Whatever)框架,但angular框架整体上更接近MVVM模式.下面是Igor Minar发布在Google+ https://plus.google.com/+IgorMinar/posts/DRUAkZmXjNV的文章内容: MVC vs MVVM vs MVP. What a controver

Angular中$broadcast和$emit的使用方法

要在控制器之间传递变量变化需要使用angular中的$broadcast和$emit方法来传递,同时使用$on来接收事件并作出响应. broadcast译为广播,即上级传递下级. 示例代码: <script src="../angular.js"></script> <script> angular.module("app", []) .controller("child", function($scope)

Angular中innerHTML标签的样式不起作用详解

1.背景 在最近angular的项目中,需要用到[innerHTML]标签来指定一个div的样式: 1 //HTML部分 2 <div class="contents" [innerHTML]="contents"></div> 3 4 //TS部分 5 contents = '<p>商品信息栏位<br><span style="color:red;">商品信息介绍</span&g