ember.js 恩贝日斯+戈伊斯整合

js81xvg6  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(163)

嘿,伙计们,我正在试用emberjs,想把goJS集成到它上面。我做了一个npm安装的包https://www.npmjs.com/package/gojs,但是我找不到任何关于这个的好文档。所以如果有人能指出我的错误,那就太好了。

import Component from "@glimmer/component";
import go from "gojs";
import { action } from "@ember/object";
import { tracked } from "@glimmer/tracking";

export default class GraphComponent extends Component {
  @tracked iconName = "check-circle";

  $ = go.GraphObject.make;
  myDiagram = $(go.Diagram, "myDiagramDiv");

  @action
  changeIcon() {
    if (this.iconName == "check-circle") {
      this.iconName = "sync-alt";
    } else {
      this.iconName = "check-circle";
    }
  }
}

这是我的ember组件graph.js,在graph.hbs中,我有相应的div,但屏幕上什么也没有显示。我错过了什么吗?
也将感谢任何链接到一个goJS与emberJS文件。TY

guicsvcw

guicsvcw1#

我建议使用didInsert render modifier
有了这个你就可以

<div id="myDiagramDiv" {{did-insert this.insertDiagram}}></div>

然后您可以有一个在div插入到DOM之后运行的操作:

@action
insertDiagram() {
  const $ = go.GraphObject.make;
  const myDiagram = $(go.Diagram, "myDiagramDiv");
}

否则您将在<div>可用之前运行此代码。

相关问题