【问题标题】:Issue w/firebase.js and Angular UI Router问题 w/firebase.js 和 Angular UI 路由器
【发布时间】:2014-07-24 04:40:42
【问题描述】:

我正在将 firebase 与 AngularJS 集成,但在使用 promise 中的 firebase 快照结果时遇到了一些问题。

以下是我在ui-router中的一种状态的代码:

                resolve: {
                    opinionConfig: function($stateParams, $location, $q, ConstantsService) {
                        var result = $q.defer();
                        var processResponse = function(value) {
                            value.opinion = $stateParams.opinion;
                            result.resolve(value);
                        };

                        var rootRef = new Firebase(ConstantsService.FIREBASE_URL + 'configs/' + $stateParams.opinion);

                        rootRef.once('value', function(snapshot) {
                            if (snapshot.val() === null) {
                                $location.path('/');
                                // console.log("configs doesn't exist.");
                                result.reject("configs doesn't exist");
                            } else {
                                // console.log("configs does exist: " + snapshot.val());
                                processResponse(angular.copy(snapshot.val()));
                            }
                        });

                        return result.promise;
                    }
                }

我在 Firefox 的开发者工具中遇到了这个错误。

这就是我在 Chrome 的开发者工具中得到的。

这两个错误似乎不同,我找不到 firebase.js 的官方未缩小版本,所以我不确定这是在哪里抛出的。

谢谢,

卢克

【问题讨论】:

    标签: javascript angularjs firebase angular-ui-router angularfire


    【解决方案1】:

    您使用的是最小版本的 js (错误提示 angular.min...)

    然后这个

    opinionConfig: function($stateParams, $location, $q, ConstantsService) {
    

    转换成这个

    opinionConfig: function(c, x, g, r) { // an example showing minification
    

    所以我们要做的是:

    opinionConfig: 
    ['$stateParams', '$location', '$q', 'ConstantsService',
    function($stateParams, $location, $q, ConstantsService) {
    

    也许也检查一下这个Minified AngularJS gives me unreadable errors

    【讨论】:

    • 即使在逃避注射后,我也会遇到同样的错误。
    • 那你得去搜索更多这样的声明...这是我99.9%的怀疑...
    • 如果我只是返回一个普通对象而不更改签名。没有错误。我怀疑这可能是承诺问题。我还上传了我在 Chrome 中看到的错误。
    • Gb 确实可能来自 firebase 的缩小版本,但我看到的问题是,在 null 上找不到 Gb ......所以它会在我们(不是 firebase)方面。 .. 你能创建一个 plunker 吗?
    • 好的。让我创建一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 2017-01-28
    • 2023-03-30
    • 2016-02-01
    • 2016-01-06
    相关资源
    最近更新 更多