Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular controller中访问emojione的正确方法_Javascript_Angularjs_Cordova_Emojione - Fatal编程技术网

Javascript 在angular controller中访问emojione的正确方法

Javascript 在angular controller中访问emojione的正确方法,javascript,angularjs,cordova,emojione,Javascript,Angularjs,Cordova,Emojione,我有一个带有AngularJs 1.5.5、OnsenUI 2和EmojiOne的PhoneGap应用程序 我试图访问角度控制器内的emojione变量: ons.bootstrap.controller('AppController', ['$scope', '$timeout','$http', '$sce', function ($scope, $timeout, $http, $sce) { emojione.imageType = 'svg'; emojione.sp

我有一个带有AngularJs 1.5.5、OnsenUI 2和EmojiOne的PhoneGap应用程序

我试图访问角度控制器内的emojione变量:

ons.bootstrap.controller('AppController', ['$scope', '$timeout','$http', '$sce', function ($scope, $timeout, $http, $sce) {

    emojione.imageType = 'svg';
    emojione.sprites = true;
    emojione.imagePathSVGSprites = '../res/sprites/emojione.sprites.svg';
    ...
我以后也有一些函数调用

当我在PC上运行它时,它可以正常工作,但在android上无法解析“emojione”(未定义)。
这是我第一次使用angularjs和JavaScript,因此可能非常简单。

在处理angularjs和标准JavaScript库时,我喜欢制作一个模块和工厂,用于访问根变量,就像您尝试做的那样:

angular.module('emojioneModule', [])
.factory('emojione', function($window) {
    return $window.emojione;
});
这允许您注入引用,并允许您为单元测试模拟emojione,因为您可以注入模拟

ons.bootstrap.controller('AppController', ['$scope', '$timeout','$http', '$sce', 'emojione', function ($scope, $timeout, $http, $sce, emojione) {

    emojione.imageType = 'svg';
    emojione.sprites = true;
    emojione.imagePathSVGSprites = '../res/sprites/emojione.sprites.svg';
    ...

但是,您可以只注入$window,然后直接从那里访问它。

您是从cdn加载emojione库吗?
移动设备可以访问互联网?

是的,它是cdn中唯一的库,我的应用程序已经连接到欧洲某个地方的服务器,因此它应该可以访问互联网。删除cdn引用后,库现在已加载,我想cdn引用对phonegap不是一个好主意。谢谢当我像注入其他窗口一样注入$window时,我得到错误“TypeError:无法设置未定义的属性'imageType'”你确定在实例化控制器之前加载了emojione脚本吗?我没有,但在下载库并直接添加后,它不再使我的应用程序崩溃。我猜cdn参考不起作用。