Java 脚本 Ionic 框架中的未定义对象
Undefined object in Java Script Ionic framework
我在 Ionic 框架中编写了用于在 iOS 和 Android 上播放媒体的服务。它使用 Cordova 的媒体插件。我是初始化媒体对象并在 Java 脚本中使用此代码播放它,但它 returns 未定义对象错误。
var self = {
'currentTrack': null,
'initPlayer': function (videoID) {
self.currentTrack = Media(IP_ADDRESS + 'stream/'+videoID);
//self.currentTrack = _track;
console.log('initd');
},
'Play': function () {
console.log(self.currentTrack);
self.currentTrack.play();
}
};
在模板中,我以这种方式初始化 audioPlayer:
<ion-content ng-init="audioPlayer.initPlayer('foo')>
并在一个按钮中声明了播放功能:
<button ng-click="audioPlayer.Play()"
错误:
Error: undefined is not an object (evaluating 'self.currentTrack.play')
如果您在浏览器中开发应用程序,Cordova 插件在开发时无法在浏览器中运行。
您需要构建应用程序才能使用插件。
您可以使用远程调试工具调试“.apk”或“.ipa”。
您可以通过 here.
获取有关远程调试的更多信息
请牢记以下几点,
- 您正在 deviceready 事件上执行所有代码。
- cordova.js 文件必须是您正在加载的第一个 js 文件。
我没有在 deviceready
事件中正确声明我的函数。现在可以使用了。
我在 Ionic 框架中编写了用于在 iOS 和 Android 上播放媒体的服务。它使用 Cordova 的媒体插件。我是初始化媒体对象并在 Java 脚本中使用此代码播放它,但它 returns 未定义对象错误。
var self = {
'currentTrack': null,
'initPlayer': function (videoID) {
self.currentTrack = Media(IP_ADDRESS + 'stream/'+videoID);
//self.currentTrack = _track;
console.log('initd');
},
'Play': function () {
console.log(self.currentTrack);
self.currentTrack.play();
}
};
在模板中,我以这种方式初始化 audioPlayer:
<ion-content ng-init="audioPlayer.initPlayer('foo')>
并在一个按钮中声明了播放功能:
<button ng-click="audioPlayer.Play()"
错误:
Error: undefined is not an object (evaluating 'self.currentTrack.play')
如果您在浏览器中开发应用程序,Cordova 插件在开发时无法在浏览器中运行。 您需要构建应用程序才能使用插件。 您可以使用远程调试工具调试“.apk”或“.ipa”。 您可以通过 here.
获取有关远程调试的更多信息请牢记以下几点,
- 您正在 deviceready 事件上执行所有代码。
- cordova.js 文件必须是您正在加载的第一个 js 文件。
我没有在 deviceready
事件中正确声明我的函数。现在可以使用了。