我有一个Cordova插件,做一些webservice认为,我希望它使用sendJavascript android命令在WebView上调用角度工厂函数。
我有另一个没有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插件
....
cordova.webView.sendJavascript("javascript: playerService.setTitle('test test');
....
我得到了一个“playerService”未定义 - 在logcat android输出中。
答案 0 :(得分:0)
最后我得到了一个解决方案......
1)首先我要选择DOM中的一个元素是在范围内。在我的例子中,我有一个带有ID播放按钮的div
cordova.webView.sendJavascript("javascript: angular.element(document.querySelector('#playbuttons')).scope().$apply(function() {angular.element(document.querySelector('#playbuttons')).scope().playerService.setTitle('TESTING')})");
我认为这非常hacky,所以如果有人能纠正我,那么感觉自由;)