如何在 angular 工厂和控制器中使用其他 js 库的函数?

how to use functions from other js libraries in angular factory and controllers?

有什么方法可以在我的 angular 工厂中使用这些库的功能?

<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 代码一起使用。

我就是这样使用它的,但它总是给我一个错误

 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();
    }
})

你在一个变量中有一个变量
这看起来不对:

var chat_service_obj = {
        var connection = new Strophe.Connection

应该更像

var chat_service_obj = {
        connection: new Strophe.Connection

为您的 'chat factory' 定义试试这个:

// ----------- 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;
});