2015-09-08 47 views
-2

有沒有什麼辦法可以在我的角工廠中使用這些庫的功能?如何使用angualr工廠和控制器中其他js庫的功能?

<head>  
<script type="text/javascript" src="js/3rdparty/strophe.js"></script> 
<script type="text/javascript" src="js/3rdparty/xml2json.js"></script> 
<script src="js/app.js"></script> 
<script src="js/services.js"></script> 
<script src="js/controller.js"></script> 
</head> 

我有一個工廠和一個控制器。我想用我的角碼使用庫(strophe.js,xml2json.js)。

這是我一個如何使用它,但它總是給我一個錯誤

angular.module('fairy_chat.services',['globals']) 

// ----------- chat factory : ------------------ 
.factory('chat_factory', function (CONSTANT, strophe){ 
    var chat_service_obj = { 
     var connection = new Strophe.Connection(CONSTANT.BOSH_SERVICE); 
     console.log(connection); 
    connect_server:function(){ 
      console.log('constant=='+ CONSTANT.BOSH_SERVICE); 
    } 

    } 
    return chat_service_obj; 
}); 

我controller.js

angular.module('fairy_chat.controllers',['fairy_chat.services','ionic','globals']) 

.controller('LoginCtrl', function($scope, $state, chat_factory) { 

    $scope.data = { 
     username:"", 
     password:"" 
    }; 

    $scope.login = function(strophe){ 
     chat_factory.connect_server(); 
    } 
}) 
+0

且誤差? – deceze

+0

@deceze:Uncaught語法錯誤:意外的標識符var connection = new Strophe.Connection(CONSTANT.BOSH_SERVICE);因爲它無法訪問strophe的功能。 –

+2

不,這是一個**語法錯誤**。它並不是抱怨一些對象沒有被發現,你有脂肪指責基本的Javascript語法。 – deceze

回答

1

你已經有了一個變種
這並未內的變種看起來不錯:

var chat_service_obj = { 
     var connection = new Strophe.Connection 

應該更像

var chat_service_obj = { 
     connection: new Strophe.Connection 

試試這個爲你 '聊天工廠' 的定義:

// ----------- chat factory : ------------------ 
.factory('chat_factory', function(CONSTANT, strophe) { 

    var connection = new Strophe.Connection(CONSTANT.BOSH_SERVICE); 
    console.log(connection); 

    var chat_service_obj = { 
     connect_server: function() { 
      console.log('constant==' + CONSTANT.BOSH_SERVICE); 
     } 
    } 
    return chat 
    _service_obj; 
}); 
+0

謝謝。解決了我的問題。實際上,我在app.js中包含了'globals'作爲依賴項,這是不需要的。 –

相關問題