AngularJs 抓狂之: $q promise 自动unwarp功能被禁用了
昨天刚知道,原来把一个Promise绑定到Scope,View会自动显示该Promise的值(auto-unwarp),但是晚上回家试的时候发现,无论如何都不行。又浪费了两个多小时找原因,最后才发现,这个auto-unwrap的功能在AngularJs 1.2.0的某个RC之后就被禁用了。官方用词Deprecated,没有替代怎么叫deprecated呢?明明就是removed!
这是StackOverflow的提问:http://stackoverflow.com/questions/21193400/why-promise-in-factory-not-working-since-angularjs-1-2-0
这是Plnkr: http://plnkr.co/edit/w2O8Ci?p=preview
所以,下面代码里面的Promise已经不会自动绑定了,要让他工作正常,需要:
NameFactory.getName().then(function(data){$scope.name = data});
代码:
<!DOCTYPE html>
<html ng-app="myApp"><head><!--<script src="http://code.angularjs.org/1.1.5/angular.min.js"></script>--><script src="http://code.angularjs.org/1.2.9/angular.min.js"></script><script>var app = angular.module('myApp', []);app.factory('NameFactory', function($http, $q) {return {getName: function() {var deferred = $q.defer();deferred.resolve({name: "World"});return deferred.promise;}}});app.controller("NameCtrl", function($scope, NameFactory) {$scope.name = NameFactory.getName();});</script>
</head><body ng-controller="NameCtrl"><h1>Hello, {{name.name}}</h1>
</body></html>
所以正确的做法是:
<!DOCTYPE html>
<html ng-app="myApp"><head><script src="http://code.angularjs.org/1.2.9/angular.min.js"></script><script>var app = angular.module('myApp', []);app.factory('NameFactory', function($http, $q) {return {getName: function() {var deferred = $q.defer();deferred.resolve({name: "World"});return deferred.promise;}}});app.controller("NameCtrl", function($scope, NameFactory) {NameFactory.getName().then(function(data){$scope.name = data;});});</script>
</head><body ng-controller="NameCtrl"><h1>Hello, {{name.name}}</h1>
</body></html>
转载于:https://www.cnblogs.com/puncha/p/3876855.html
AngularJs 抓狂之: $q promise 自动unwarp功能被禁用了相关推荐
- webstorm汉化怎样切回英文_虐心抓狂问题:webstorm使用搜狗输入法输入英文自动切换为中文...
抓狂: 在webstrom中使用搜狗输入法编写代码时,按下shift键,切换到英文输入状态,想要输入helloworld单词,但是奇葩的现象出现了,没等输入完hello单词,输入法状态就自动切换到了中 ...
- angular $q promise详解
前言 通过本文,你大概能清楚angular promise是个啥,$q又是个啥,以及怎么用它.这里咱们先灌输下promise的思想. 下面写的全是废话,一些看着高逼格其实没什么大作用的概念,想知道$q ...
- 抓狂的QQ离开自动回复
QQ是我用过的所有IM中状态设置最复杂的:Q我吧.我在线上.离开.忙碌.静音.隐身-这其中,最让人抓狂的就是离开,离开的在每个消息后面跟一句自动回复的设计. 看看 ...
- QA发现的令人抓狂的BUG
项目中的一个功能是自动生成文档.而自动生成文档的路径是由用户选择的.TEAM里的QA在测试这个功能时,遭遇了令他们抓狂的BUG. 测试过程很简单,运行程序,把生成文档的目标路径设置为桌面.生成. QA ...
- 如何写出让人抓狂的代码?
前言 今天跟大家聊一个有趣的话题:如何写出让人抓狂的代码? 大家看到这个标题,第一印象觉得这篇文章可能是一篇水文.但我很负责的告诉你,它是一篇有很多干货的技术文. 曾几何时,你在阅读别人代码的时候,有 ...
- 综合抓狂类、Java技术类面试题
Section1.综合抓狂类 如果现在有两家公司,一家每月给你3000,另外一家每月给你3500,你会怎样选择? 你为什么来应聘我们公司? 你对我们公司有什么认识? 你过去的上级是个什么样的人 ? ...
- 天涯上令人抓狂的100个神经签名(天涯疯人院语录)
1.柏芝你走吧,我舍不得韩红! 2.按猪的审美观,我基本算得上是个帅哥~ 3.我不是你想象中的那么完美那么坚强,金钱和美女就足以把我征服! 4.见到我以后你会突然发现--原来帅也可以是这样的具体呀~ ...
- 哪些奇葩问题会让程序员抓狂?
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 如何惹恼程序员?本文排个雷. 一. 作为一名程序员,很多事情会让自己心烦意乱,通常我都对其置 ...
- 【英语阅读】纽约时报 | 你妈注定让你抓狂
Your Mom Is Destined to Annoy You 你妈注定让你抓狂 Destined adj.注定的;命定的;去往-的 v.注定 Annoy vt.骚扰;惹恼;打搅 n.烦恼 I h ...
最新文章
- flutter中的生命周期
- CAPSNET:具有自我注意路由的胶囊网络
- 统计学习方法笔记(九)-最大熵原理及python实现
- C 语言获取系统时间
- 3389爆破DUBrute_2.1
- NET平台4.0 发布网站流程及出错总结
- java des 加密 字符串_Java使用DES加密字符串
- 反向工程解析QQ扫码登录的OAuth2流程
- 餐厅点餐系统app总结
- 【深度学习】CNN算法
- LM2596降压DCDC芯片
- xpath获取同级元素 子元素,子元素取父元素等
- 贪心算法及其经典例题
- 苹果手机备份有必要吗_苹果手机备份最简单方式!原来大神都这样做
- linux下使用screen和ping命令对网络质量进行监控
- Python骚操作 | 川普的嘴,骗人的鬼!
- 用PowerPoint巧做特效字幕(转)
- matlab graythresh()函数使用的注意点
- 用让新海诚本人惊讶的 AI 模型制作属于你的动漫视频
- MySQL 不四舍五入取整、取小数、四舍五入取整、取小数、向下、向上取整