Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase AngularJS ng重复订购人。。怎样?_Javascript_Angularjs_Firebase_Angularfire - Fatal编程技术网

Javascript Firebase AngularJS ng重复订购人。。怎样?

Javascript Firebase AngularJS ng重复订购人。。怎样?,javascript,angularjs,firebase,angularfire,Javascript,Angularjs,Firebase,Angularfire,在这一点上我有点迷茫,在网上寻找答案,但我仍然在做错事。。 脚本: 我有一个firebase obj,从那里我可以通过ng repeat获得要重复的项目,循环工作得很好,但是我不知道如何通过子元素的值对这些元素进行排序,基本上现在是这样的: app.js .controller('MessageController', function ($scope, $firebase) { var ref = new Firebase("https://01062016ag.fi

在这一点上我有点迷茫,在网上寻找答案,但我仍然在做错事。。 脚本: 我有一个firebase obj,从那里我可以通过ng repeat获得要重复的项目,循环工作得很好,但是我不知道如何通过子元素的值对这些元素进行排序,基本上现在是这样的:

app.js

    .controller('MessageController', function ($scope, $firebase) {

        var ref = new Firebase("https://01062016ag.firebaseio.com/messages/yourmessages/02");
        var fb = $firebase(ref);

        // sync as object
        var syncObject = fb.$asObject();
        var time = Firebase.ServerValue.TIMESTAMP ? Firebase.ServerValue.TIMESTAMP : 1459007018632;

        this.newMessage = { approved:false, time:Firebase.ServerValue.TIMESTAMP };
        this.addMessage = function($event) {
            $event.preventDefault();
            ref.push(this.newMessage);
            this.newMessage = {};
        };
        console.log(syncObject, ref, fb);

        // three way data binding
        syncObject.$bindTo( $scope, 'messages' );
    })
html


{{msgCtrl.newMessage.text?msgCtrl.newMessage.text:'留言'}
{{msgCtrl.newMessage.author?msgCtrl.newMessage.author:'author'}
{{slide.text | limito:100}{{slide.text.length>100?'…':''}
{{slide.author}}
我尝试对ng repeat应用过滤器,如某些线程中所述,类似于
ng repeat=“滑入消息| orderByPriority | orderBy:'time':reverse”或ng repeat=“滑入消息| toArray | orderBy:'time':reverse”

但是没有运气。。我得到未知提供程序的错误 我很确定我的控制器出了点问题

抱歉,如果它看起来有点呆滞,但我对angular很新:)


感谢您的帮助

您使用的Firebase和AngularFire版本是什么?一种方法是,另一种方法是。后者是首选,因为它在服务器上执行排序和筛选。Frank van Puffelen yep是第二个首选,orderByPriority是应该做这项工作的。。但我不知道如何在控制器中设置过滤器,我不知道。。您的代码还没有使用查询,这样做不会导致在控制器中需要过滤器。西南对我所联系的第二个问题的回答说明了如何使它起作用。从他的例子开始(或者是使用
orderByChild()
的众多例子中的一个),然后从那里开始工作。不要从一个坏掉的应用程序开始,试着让它工作起来,从文档开始,首先理解它。谢谢你的建议Frank:)这就是我要做的,但我仍然错过了一些步骤,只是从零开始,按照文档,我得到orderByChild()作为一个未定义的函数,带有以下语句var ref=new Firebase(“;ref.orderByChild(”在(“child_added”,函数(snapshot){console.log(snapshot.key()+“was”+snapshot.val().height+“meters-thill”);})上),这应该是现成的,还是我必须以某种方式定义这个函数(这是查询部分的开始…)您使用的是什么版本的Firebase和AngularFire?一种方法是to,另一种方法是to。后者是首选的,因为它在服务器上执行排序和筛选。Frank van Puffelen yep是第二种首选,orderByPriority是应该做这项工作的。但是我不知道如何在控制器和I g中设置筛选器et unknown..任何建议或建议都值得欣赏您的代码还没有使用查询,这样做不会导致控制器中需要过滤器。Sinan对我链接的第二个问题的回答说明了如何使其工作。从他的示例开始(或使用
orderByChild()
的众多示例之一)然后从那里开始工作。不要从一个坏掉的应用程序开始,试着让它工作起来,从文档开始,首先理解它。谢谢你的建议弗兰克:)这就是我想做的,但我仍然错过了一些步骤,只是从零开始,然后按照文档,我得到orderByChild()作为一个未定义的函数,带有以下语句var ref=new Firebase(“); ref.orderByChild(“height”).on(“添加了child_”,函数(snapshot){console.log(snapshot.key()+”是“+snapshot.val().height+”米高”);});这应该是开箱即用的,或者我必须以某种方式定义这个函数(这是查询部分的最开始…)
 <carousel interval="myInterval">

                            <div id="preview">

                                <blockquote ng-class="{ 'preview' : !msgCtrl.newMessage.text }" class="active">
                                    {{ msgCtrl.newMessage.text ? msgCtrl.newMessage.text : 'leave a message' }}
                                </blockquote>
                                <cite ng-class="{ 'preview' : !msgCtrl.newMessage.author }" class="">
                                    {{ msgCtrl.newMessage.author ? msgCtrl.newMessage.author : 'Author' }}
                                </cite>

                            </div>

                            <slide ng-repeat="slide in messages | orderBy: 'time' : reverse " active="slide.active">
                                <blockquote>
                                    {{ slide.text | limitTo: 100 }}{{slide.text.length > 100 ? ' ...' : ''}}
                                </blockquote>
                                <cite>
                                    {{ slide.author }}
                                </cite>
                            </slide>
                        </carousel>