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

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

本文关键字:其他 js 函数 angular 工厂 控制器      更新时间:2023-09-26

我可以在我的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>

我有一个工厂和控制器。我想在我的angular代码中使用这些库(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();
    }
})

在var中添加了一个var
这看起来不对:

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