如何从控制器设置工厂的价值?

时间:2017-06-06 03:19:59

标签: angularjs

我在下面创建了一个工厂。 我想设置 page_id字段的值。 我使用两个函数是 setPageId getPageId

app.factory('socket', [function ($scope) {
        var onmessageDefer;
        var trustedClose = false;
        debugger;
        var url = 'ws://localhost:8084/javaSocketTest/socket';
        var page_id = '';
        var socket = {
            ws: new WebSocket(url),
            send: function (header, data) {
                var object = {};
                object["type"] = header;
                object["data"] = data;
                if (socket.ws.readyState === 1) {
                    socket.ws.send(object);
                    console.log('send data: ');
                    console.log(object);
                } else {

                }
            },
            setPageId:function(page){
                page_id=page;
                debugger;
            },
            getPageId:function(){
                return page_id;
            }
    };
             return socket;
    }]);

在我的控制器中,我调用函数 setPageId ,但 page_id 始终=''。 那么如何解决它。我错了什么?

app.controller('postCtrl', function ($scope, $uibModal, $timeout, $filter, ngTableParams, SweetAlert, PostServices,socket) {

        socket.setPageId('trung');

       });

0 个答案:

没有答案