2016-11-09 13 views
0

V1イオンを使用してthisまたはselfを使用しますが、エラーメッセージを取得し、工場内から関数を呼び出すしようとしている:カントコール(イオンを使用して)アンギュラ工場でのサービスメソッド

Uncaught TypeError: Object #<Object> has no method 'connectArd' 

コード:

angular.module('hardware.services', []) 

    .factory('hardwareserv', function($http,$rootScope,$state,$cordovaBluetoothSerial) { 

var hardwareService = {}; 

     hardwareService.connectArd = function(MACaddress) { 
      window.bluetoothSerial.connect(MACaddress, this.successConnect2, this.failConnect);    
     }; 

     this.connectArd(MACdevicex); // calling above method 

     return hardwareService; 

    }); 
+0

工場の範囲からthere.notからそれを呼び出す必要があります。このコードは、 'this'が' hardwareService'と等しいことを示していません – devqon

+0

申し訳ありませんが、追加するのを忘れましたが、var hardwareService = {};を使用して定義しました。 – condo1234

答えて

1

hardwareService.connectArd(MACdevicex)に電話する必要があります。

あなたはhardwareServiceオブジェクトに機能を割り当てているので、私は `hardwareService`がどこにも定義されて表示されていない

+0

'hardwareService'オブジェクトに関数を割り当てるので、工場のスコープからそこから呼び出さなければなりません。 –

+0

はい、ありがとう – condo1234

関連する問題