问题描述
大家好,我正在尝试emberjs,并希望将goJS集成到它中。我对软件包https://www.npmjs.com/package/gojs进行了npm安装 但是我找不到关于此的任何好的文档..因此,如果有人可以指出我的错误,那将是很好的
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";
}
}
}
这是我的炭烬组件graph.js,在graph.hbs中,我具有对应的div,但有些内容在屏幕上却没有显示。我错过了什么吗?
并希望通过emberJS docs.TY链接到goJS。
解决方法
我建议使用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>
可用之前运行此代码。