【问题标题】:Firebase/Angular: Messages not showing in HTML, but contain the message objectsFirebase/Angular:消息不在 HTML 中显示,但包含消息对象
【发布时间】:2018-03-27 03:15:38
【问题描述】:

今天好,

我正在尝试通过 Angular js 将一个基本的 firebase 聊天模块合并到我的系统中(老实说,我一点也不精通..)

我遇到了一个问题,即我的项目没有显示在我的 HTML 元素中,尽管我的 firebase 消息是从我的 firebase 数据库中检索的。

这是我的 HTML 代码:

<html lang="en" ng-app="chatApp">

...

<section id="content3" class="tab-content">
    <div class="card mb-3">
        <div class="card-header">
            <i class="fa fa-comments-o"></i>
                Instant Chat Messenger – Crisis Management Office
        </div>
        <div class="card-body" ng-controller="ChatController">
            <p ng-repeat="m in messages">{{m.message}}- </p>
            <div class="form-row">
                <div class="form-group col-md-11">  
                    <input type="text" class="form-control" id="chatEntry" rows="14" placeholder="Type your message here" ng-model="messageText">
                </div>
                <div class="form-group col-md-1">   
                <button type="submit" class="btn btn-primary btn-block" id="sendBtn" ng-click="send()">Send</button>
                </div>
             </div>
        </div>
    </div>
</section>

这里是 angular.js 代码:

var app = angular.module('chatApp', ['firebase']);

app.controller('ChatController', function($scope, $firebaseArray) {

    var crisis = "Crisis1";

    //Query

    var ref = firebase.database().ref().child(crisis).child('CMO-PMO');

    $scope.messages = $firebaseArray(ref);

    $scope.send = function() {
        $scope.messages.$add({
            sender: "PMO",
            message: $scope.messageText,
            date: Date.now()
        })
    }
})

现在,有趣的是……我的消息正在被检索(我在 {{ m.messages }} 后面放了一个破折号“-”,以便为我的 firebase 数据库中的每条消息打印一个破折号(显示正在检索它们),但没有显示我的消息。

这是我的 firebase 的截图(注意:目前有 7 条消息):

这是我的 HTML 页面的屏幕截图(它显示了我的 firebase 中 7 个项目的 7 个破折号):

虽然我在 javascript 代码中检查了我的范围,以及我的 firebase 数据库中的命名,但我的消息仍然无法显示。但我可以通过我的页面将消息发送到 firebase 数据库。 (按钮和发送功能正在工作!)现在唯一的问题是显示消息..

我不知所措..请帮帮我!我会及时回复这里的任何帖子:) 非常感谢!

编辑:如果我使用 {{m|json}}:

【问题讨论】:

  • 代替{{m.message}}- 试试{{m|json}}- ,你会怎么做?
  • 嗨!我收到一个错误:TemplateSyntaxError, Invalid filter: 'json', 图片在底部的问题中,是不是因为我也在使用 Django 和 Python 进行开发?
  • 刚刚意识到当你有 django/python 时,javascript 解析是不同的。我仍然找不到将消息呈现到我的 HTML 页面的方法。
  • 使用 {% verbatim %} 标签修复.. 3 小时后 dang

标签: javascript angularjs firebase firebase-realtime-database firebase-cloud-messaging


【解决方案1】:

我已经使用{%verbatim%} 标签解决了渲染问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多