интеграция emberjs gojs

#ember.js #gojs

#ember.js #gojs

Вопрос:

Эй, ребята, я пробую emberjs и хочу интегрировать GoJS в него. Я выполнил установку пакета через npmhttps://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 docs.TY

Ответ №1:

Я бы рекомендовал использовать didInsert модификатор рендеринга.

С помощью этого вы можете сделать

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

и тогда вы можете выполнить действие, которое будет выполняться после того, как div был вставлен в DOM:

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

в противном случае вы запустите этот код до того, как <div> станет доступным.