【发布时间】: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