es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo inserir una variable en selectores en Cytoscape JS?

Estoy tratando de visualizar los bordes de un gráfico con diferentes anchuras seleccionando los bordes según sus campos de identificación. ¿Es posible usar variables en consultas de selector? ¿Cómo puedo lograr este comportamiento? Hay formas de trabajar en torno a esto repitiendo código, por ejemplo:

if (i==0){
        edge_item = cy.elements('edge[id = "edge0"]');

    cy.style()
      .selector(edge_item)
      .style({
      'width': 10
      })
      .update();
  }

Sin embargo, preferiría una solución más limpia, preferiblemente usando una variable en lugar de “edge_0” arriba con algo como lo siguiente:

edge_var = "edge_" + i;
edge_item = cy.elements('edge[id="' + edge_var + '"]');

¿Es esto posible?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible utilizar variables en consultas selectoras para Cytoscape. Puedes lograr este comportamiento utilizando plantillas literales, las cuales te permiten interpolr el valor de una variable entre acentos graves (`) y la notación ${}. Un ejemplo de sintaxis para tu caso de uso sería:

    const i = 0;
    const edgeVar = `edge_${i}`;
    const edgeItem = cy.elements(`edge[id="${edgeVar}"]`);
    
    cy.style()
      .selector(edgeItem)
      .style({
         'width': 10
       })
       .update();
    

    Este código crea una plantilla literal para la variable edgeVar con el valor interpolado de i, y la utiliza en la consulta selectora de Cytoscape. El resultado obtenido con edgeItem seleccionará el borde con el campo id igual a edge_0.

Comments are closed.