我尝试在我的 ionic 3 应用程序中使用 zuck.js 实现故事,但出现此错误
Cannot read property 'id' of null at new window.ZuckitaDaGalera.window.Zuck (http://localhost:8100/build/vendor.js:115204:23) at new HomePage
我 checkin 了docs看起来我发送了正确的数据,但我收到了这个错误并且实际上坚持了下来。
首页组件
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import 'zuck.js/zuck.js';
declare var Zuck;
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
stories = new Zuck('stories', {
backNative: true,
autoFullScreen: 'false',
skin: 'Snapgram',
avatars: 'true',
list: false,
cubeEffect: 'true',
localStorage: true,
stories: [
{
id: 'vision',
photo: 'https://cnet4.cbsistatic.com/img/QJcTT2ab-sYWwOGrxJc0MXSt3UI=/2011/10/27/a66dfbb7-fdc7-11e2-8c7c-d4ae52e62bcc/android-wallpaper5_2560x1600_1.jpg',
name: 'Tech',
link: '',
lastUpdated: 1492665454,
items: [
this.buildItem('1', 'photo', 3, 'https://pbs.twimg.com/profile_images/782474226020200448/zDo-gAo0_400x400.jpg', '', false, 1492665454,''),
this.buildItem('2', 'photo', 3, 'https://vignette4.wikia.nocookie.net/ironman/images/5/59/Robert-Downey-Jr-Tony-Stark-Iron-Man-3-Marvel-Disney.jpg/revision/latest?cb=20130611164804', '', '', false, 1492665454),
this.buildItem('3', 'video', 0, 'https://scontent-gru2-2.cdninstagram.com/t50.2886-16/14965218_193969377722724_482497862983221248_n.mp4', 'https://scontent-gru2-2.cdninstagram.com/t51.2885-15/e15/10597412_455246124639813_1360162248_n.jpg', '', false, 1492665454),
],
}],
});
constructor(public navCtrl: NavController) {
}
buildItem(id, type, length, src, preview, link, seen, time) {
// Using object short-hand (id: id)
return {id,type,length,src,preview,link,seen,time,
};
}
}
html View
<div id="stories"></div>
最佳答案
您需要将您的 Zuck
相关代码放在您的 div
的当前模板已经可用的地方。目前它是 null
因为您试图在组件准备好之前访问模板。将代码放入 ionViewDidEnter()
应该可以。
然后像这样声明 stories
变量:
let stories = ...
并将 buildItem()
方法移出构造函数主体,那不是函数所属的位置。
关于javascript - zuck js 库无法在新窗口读取 null 的属性 'id'.ZuckitaDaGalera.window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46474761/