angular个别情况scope值不能改变或者不能绑定【如:指令内ctrl.$setViewValue()不能直接改变input的val值,该处需要使用scope.$apply】

如之前写的简单指令

var app = angular.module('hpapp', []);
app.directive('inputempty', function() {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, elem, attrs, ctrl) {
var close = '<span class="clear"></span>';
elem.next().bind('click', function() {
ctrl.$setViewValue('');
ctrl.$render();
});
} };
});

改变为

var app = angular.module('hpapp', []);
app.directive('inputempty', function() {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, elem, attrs, ctrl) {
var close = '<span class="clear"></span>';
elem.next().bind('click', function() {
ctrl.$apply(function(){
ctrl.$setViewValue('');
});
});
} };
});

以及下边的情况,在angular内部使用setInterval()以及setTimeout()都不能直接绑定

angular.module('app',[])
.controller('testController', function($scope) { $scope.test = function() {
setTimeout(function() {
$scope.text = 'test';
console.log($scope.text );
}, 2000);
} $scope.test (); });
angular.module('app',[])
.controller('testController', function($scope) { $scope.test = function() {
setTimeout(function() {
$scope.$apply(function() {
$scope.text = 'test';
console.log($scope.text );
});
}, 2000);
} $scope.test (); });

angular随笔的更多相关文章

  1. Angular随笔第二课

    一.  列表表格以及其它迭代型元素 ng-repeat 可能是最有用的angular指令了,它可以根据集合中的项目一次创建一组元素的多份拷贝.不管在什么地方,只要你想创建一组事物的列表,你就可以使用这 ...

  2. Angular随笔第一课

    一.调用angular 加载angular.js库(可以从google的cdn中加载类库,https://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/a ...

  3. angular小技巧随笔

    1. 重新刷新页面 同页面切换状态: $state.go('tab.index', {inviteId:inviteId}); self.location.reload();

  4. 浅谈HTML5单页面架构(一)——requirejs + angular + angular-route

    心血来潮,打算结合实际开发的经验,浅谈一下HTML5单页面App或网页的架构. 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验 ...

  5. angular之scope.$watch

    某“大神”挖了个陨石坑,我于是乎似懂非懂的接手,玩了一个月angular.现在项目告一段落,暂别了繁重的重复性工作,可以开始回顾.认真的折腾下之前犹抱琵琶的angular. angular吸引人的特性 ...

  6. AngularJS进阶(二十五)requirejs + angular + angular-route 浅谈HTML5单页面架构

    requirejs + angular + angular-route 浅谈HTML5单页面架构 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又 ...

  7. Angular使用总结 --- 模版驱动表单

    表单的重要性就不多说了,Angular支持表单的双向数据绑定,校验,状态管理等,总结下. 获取用户输入 <div class="container-fluid login-page&q ...

  8. Angular环境搭建

    Angular4 随笔(一)----环境搭建 1.下载node.js 第一步:在浏览器中搜索node.js官网(https://nodejs.org/zh-cn/),根据自己系统下载相应版本,下载完成 ...

  9. Angular的启动过程

    我们知道由命令 ng new project-name,cli将会创建一个基础的angular应用,我们是可以直接运行起来一个应用.这归功与cli已经给我们创建好了一个根模块AppModule,而根模 ...

随机推荐

  1. LCA倍增算法的错误与模板

    先上我原来的错误的代码 type node=^link; link=record num:int64; next:node; end; var fa:..,..] of int64; dep:..] ...

  2. 欧几里德与扩展欧几里德算法 Extended Euclidean algorithm

    欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数. 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd( ...

  3. 贪吃蛇C#和JAVA实现

    using System; using System.Windows.Forms; using System.Drawing; class Window : Form { Point[] a = ]; ...

  4. iOS的TCP/IP协议族剖析&&Socket

    原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 简介 该篇文章主要回顾--TCP/IP协议族中的TCP/UDP.HTTP:还有S ...

  5. 在iOS中实现类似安卓自动消失提示框

    类方法: + (void)showMessage:(NSString *)message { // 获取window UIWindow *window = [UIApplication sharedA ...

  6. 【Android 开发】: Android 消息处理机制之一: Handler 与 Message

    最近几讲内容,我们学习了Android中关于多线程的一些知识,上一讲我们讲解了异步任务 AsyncTask 的操作,Android中还提供了其他的线程操作,如Handler Message Messa ...

  7. 十天冲刺---Day4

    站立式会议 站立式会议内容总结: git上Issues新增内容: 燃尽图 照片 队伍度过了一次难关,刚开始学习的难关. 但还是存在进度较慢的问题. 队伍内相互理解是关键. 要时刻了解队友的情况.

  8. 十天冲刺---Day9

    站立式会议 站立式会议内容总结: 燃尽图 照片 队员们都回来了,写完之后继续对alpha版本进行迭代. 希望演示的时候能拿得出来.

  9. 使用js和jq去掉左右空格方法

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...

  10. wamp 中如何管理两个dedeCms站点

    本文以WampServer2.1为例,图文说明开启wamp虚拟主机功能,也就是绑定多域名,开启多站点搭建功能. 1.  我们一键安装wamp到E盘,并可以正常启动,状态如下图所示: