javascript - zuck js 库无法在新窗口读取 null 的属性 'id'.ZuckitaDaGalera.window

标签 javascript ionic-framework

我尝试在我的 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/

相关文章:

javascript - 如何获取包含图像的内容可编辑的 div 的插入符号位置

javascript - 使用 JQuery 在 TextField 中显示信用卡品牌

javascript - Jquery 否则不执行

ionic-framework - 'apksigner' 不是内部或外部命令,也不是可运行的程序或批处理文件。在 ionic v3

android - 输入值不更新

css - ionic : Using a custom PNG icon in Ion-refresher

ionic-framework - Ionic App - 构建失败,出现 "Minimum supported Gradle version is 4.4"

javascript - 如何使用html canvas绘制任意形状?

javascript - node.js 调用不带括号的构造函数

ionic-framework - 有没有办法使用 Snapkit 登录 Web api 中的访问 token 来获取用户 Bitmoji?