好吧,我放棄!我需要一些幫助。我花了很長時間閱讀所有在S/O上提出的類似問題,並沒有什麼能夠幫助我解決問題。 我正在嘗試向我的angularFire應用程序添加一個工廠。未被捕獲的對象 - 匿名函數Angular JS
我得到了「未捕獲的對象(匿名函數)」錯誤 - 通過Chrome檢查我已經確定更具體的錯誤信息:https://docs.angularjs.org/error/ $噴油器/ NOMOD P0 = ngLocale%22
這裏是我的HTML腳本的信息? :
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.js"></script>
<script src="js/angular-route.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/factories.js"></script>
<script src='https://cdn.firebase.com/js/client/1.0.17/firebase.js'></script>
<script src='https://cdn.firebase.com/libs/angularfire/0.7.1/angularfire.min.js'></script>
這裏是我的controller.js:
legalmvc.controller('FormCtrl','FBRetrieve', function FormCtrl($scope, $location, FBRetrieve, $firebase) {
var url = 'https://legalcitator.firebaseio.com';
var fireRef = new Firebase(url);
$scope.addCase = function() {
$scope.FireBaseCases = new Firebase('https://legalcitator.firebaseio.com/case');
$scope.caseData = {};
var newAuthor = $scope.newAuthor;
var newJournal = $scope.newJournal;
var newArticleName = $scope.newArticleName;
var newYear = $scope.newYear;
if (!newAuthor.length || !newArticleName.length || !newJournal.length || newYear === null) {
return;
}
newAuthor = $scope.newAuthor.trim();
newJournal = $scope.newJournal.trim();
newArticleName = $scope.newArticleName.trim();
var newCaseRow = $scope.FireBaseCases.child(newAuthor);
newCaseRow.set({
type: 'Case',
author: newAuthor,
journal: newJournal,
articleName: newArticleName,
year: newYear }
);
$scope.newAuthor = '';
$scope.newJournal ='';
$scope.newYear =null;
$scope.newArticleName= '';
};
});
這裏是我的factory.js:
legalmvc.factory('FBRetrieve', function(type){
var biblioRef = new Firebase('https://legalcitator.firebaseio.com/'+type);
biblioRef.on('value', function(data) {
if (data.val() === null) {
return;
}
return data;
});
});
這裏是app.js
var legalmvc = angular.module('legalmvc', ['FBRetrieve','ngRoute']);
將深深,深深的感激,如果有人能夠給我一個手,這件事情給我一個瘤!
山姆
編輯:
的問題是,我試圖注入我廠「FBRetrieve」和外部模塊。我刪除了這一點,那麼我面臨的問題是在此代碼
legalmvc.factory('FBRetrieve', function(type){
var biblioRef = new Firebase('https://legalcitator.firebaseio.com/'+type);
.....
看來,你不能在通過「類型」作爲工廠函數的參數,這將允許您使用相同的功能上的不同網址。不能說我明白爲什麼。
謝謝你們!
你可以用當前的代碼更新你的問題,所以我可能能夠幫助你進一步? –
@zazou:在這種情況下,'type'就是你試圖注入的依賴關係。如果你沒有聲明它,angular就不知道依賴類型'type'名稱爲「type」的工廠。無論如何,你最可能要做的就是在你的工廠定義一個函數,而不是在你的工廠注入類型依賴。 – Andreas
@andreas令人驚歎的人。謝謝 。 – zazou