javascript - 为什么 promise in factory 自 AngularJs 1.2.0 之后就不起作用了?

标签 javascript angularjs

之前,我的代码在AngularJs 1.1.5 版本中运行良好,但升级到1.2.x 后,以下代码无法运行。 1.2.x 有什么变化吗?

这是演示:http://plnkr.co/edit/w2O8Ci 它无法显示“世界”,但如果您将 angularjs 改回 1.1.5,一切正常。

代码如下:

<!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>

最佳答案

是的,1.2 中确实发生了一些变化, View 不能再自动展开 promise 。 参见 Angularjs promise not binding to template in 1.2

关于javascript - 为什么 promise in factory 自 AngularJs 1.2.0 之后就不起作用了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21193400/

相关文章:

javascript - .js、css 或 html - 如何将对象更改为两种不同的颜色?

javascript - jQuery hasClass 检查已更改的 DOM

javascript - DOM 操作的 IE 问题

javascript - 在哪里处理父子事件 React

javascript - 在“选择为”选项中插入输入文本

javascript - Angular 隔离范围值可以由 "true"或空设置

javascript - 为什么此应用程序中的绑定(bind)无法更新?

javascript - 如何在 Javascript 函数之间传递变量?

javascript - ionic : The back button is not showing when I refresh the page in the browser

angularjs - Node/Express 找不到 Angular http json post 的路由 (404)