2014-09-02 65 views
0

我有一個Cordova插件,做一些webservice認爲,我希望它使用sendJavascript android命令在WebView上調用一個角度工廠函數。AngularJS「sendJavascript」cordova插件調用工廠函數

我有另一個項目,它沒有angularjs工作。

AngularJS工廠

.... 
.factory('playerService', function(){ 
    var title = "Tryk på play"; 

    var setTitle = function(t) { 
     title = t; 
    } 
    var getTitle = function() { 
     return title; 
    } 

    return { 
     setTitle : setTitle, 
     getTitle : getTitle 
    } 
}) 
.... 

科爾多瓦插件

.... 
cordova.webView.sendJavascript("javascript: playerService.setTitle('test test'); 
.... 

我沒有定義 「playerService」 - 在Android的logcat中輸出。

回答

0

最後我得到的溶液...

1)首先我得到選擇在DOM女巫一個元件處於的範圍。在我的例子,我有與ID playbuttons一個DIV

cordova.webView.sendJavascript("javascript: angular.element(document.querySelector('#playbuttons')).scope().$apply(function() {angular.element(document.querySelector('#playbuttons')).scope().playerService.setTitle('TESTING')})"); 

我覺得這個我很哈克,所以如果有人可以糾正我的隨意;)