Javascript Angular和Firebase应用程序赢得';行不通

Javascript Angular和Firebase应用程序赢得';行不通,javascript,angularjs,firebase,Javascript,Angularjs,Firebase,这是我的html: <!DOCTYPE html> <html ng-app="sampleApp"> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> <script src="https://cdn.firebase.com/js/client/2.2.2/

这是我的html:

<!DOCTYPE html>
<html ng-app="sampleApp">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
    <script src="https://cdn.firebase.com/js/client/2.2.2/firebase.js"></script>
    <script src="https://cdn.firebase.com/libs/angularfire/1.0.0/angularfire.min.js"></script>
    <script src="scripts/app.js"></script>
  </head>
  <body ng-controller="SampleCtrl">
    <!-- anything typed in here is magically saved to Firebase! -->
    <input type="text" ng-model="data.text"/>

    <!-- all changes from Firebase magically appear here! -->
    <h1>You said: {{ data.text }}</h1>
  </body>
</html>
我从这个例子中复制了它:

当我尝试在自己的计算机上运行时,控制台中会出现以下错误:


未捕获的SyntaxError:意外标记$injector:modulerr基本上意味着模块加载失败,可能有很多原因


var myApp=angular.module(“myApp”,“firebase]”);
控制器(“MyController”[“$scope”,“$firebaseArray”,
函数($scope,$firebaseArray){
//创建FIREBASE引用
var ref=新的火基(“https://qst13ns0z14.firebaseio-demo.com/");
//以数组形式获取消息
$scope.messages=$firebaseArray(ref);
//添加消息方法
$scope.addMessage=函数(e){
//监听返回键
如果(e.keyCode===13&&$scope.msg){
//允许自定义或匿名用户名
变量名称=$scope.name | |“匿名”;
//添加到FIREBASE
$scope.messages.$add({
发件人:姓名,
正文:$scope.msg
});
//重置消息
$scope.msg=“”;
}
}
}
]);

Firebase聊天演示
用户名:
  • {{msg.from}} {{msg.body}

未加载模块,因为您创建的函数从未执行过。看起来您在最后一个
之前缺少
()
在脚本中。这为我修复了它:

(function() {

    var app = angular.module("sampleApp", ["firebase"])

    app.controller("SampleCtrl", function($scope, $firebaseObject) {
        var ref = new Firebase("https://fiery-inferno-4208.firebaseio.com/data");
        var syncObject = $firebaseObject(ref);

        syncObject.$bindTo($scope, "data");
    });

})();

Uncaught SyntaxError:uncontracted token我投票决定以打字错误/不可复制的方式结束此操作,因为您的代码甚至与您从中获取的示例不匹配。在发布问题之前,您应该仔细检查代码。您错误地试图将标准函数转换为IIFE,但示例没有这样做。您好,这里有相同的问题。你解决了吗?答对了。应该被调试器捕捉到,但从未如此。谢谢,这是一个很好的捕捉,但我仍然得到:未捕获错误:[$injector:modulerr]
(function() {

    var app = angular.module("sampleApp", ["firebase"])

    app.controller("SampleCtrl", function($scope, $firebaseObject) {
        var ref = new Firebase("https://fiery-inferno-4208.firebaseio.com/data");
        var syncObject = $firebaseObject(ref);

        syncObject.$bindTo($scope, "data");
    });

})();