
Quote from Palamar on December 14, 2022, 5:46 pmHola gente, estoy teniendo un problema utilizando ng-repeat y llamando desde el html a una rutina js
Primero coloco NeoScripttoJS al inicio de mi app y luego creo un container, dentro coloco este html:
<div ng-repeat="object in TempDatos"> <a class="btn btn-link btn-xs btn-block" href="javascript:neosubroutine.TraerDatos([object.Id])"> Más información del ID</a> </div>Si lo hago de forma dinámica, o sea con la acción SetObjectHTML y asigno el html a un container parece funcionar pero si lo hago con ng-repeat no lo hace. Como dato curioso cuando me coloco encima del enlace (en ejecución) me dice "unsafe.javascript:neo..." que tengo entendido es algo de Angular.
He probado sacar el javascript: y dejar solo lo demás pero ahi me pone mi dominio antes y termina redirigiendo a un error. He probado dejar solo "TraerDatos([objectID)" y tampoco funcionó.
Gracias!
Hola gente, estoy teniendo un problema utilizando ng-repeat y llamando desde el html a una rutina js
Primero coloco NeoScripttoJS al inicio de mi app y luego creo un container, dentro coloco este html:
<div ng-repeat="object in TempDatos"> <a class="btn btn-link btn-xs btn-block" href="javascript:neosubroutine.TraerDatos([object.Id])"> Más información del ID</a> </div>
Si lo hago de forma dinámica, o sea con la acción SetObjectHTML y asigno el html a un container parece funcionar pero si lo hago con ng-repeat no lo hace. Como dato curioso cuando me coloco encima del enlace (en ejecución) me dice "unsafe.javascript:neo..." que tengo entendido es algo de Angular.
He probado sacar el javascript: y dejar solo lo demás pero ahi me pone mi dominio antes y termina redirigiendo a un error. He probado dejar solo "TraerDatos([objectID)" y tampoco funcionó.
Gracias!

Quote from luishp on December 14, 2022, 11:00 pm@palamar, tienes que utilizar ng-click o ng-href en lugar de href, como aquí:
<a style="cursor:pointer" ng-click="TraerDatos([object.id])">Más información del ID</a>Saludos!
@palamar, tienes que utilizar ng-click o ng-href en lugar de href, como aquí:
<a style="cursor:pointer" ng-click="TraerDatos([object.id])">Más información del ID</a>
Saludos!

Quote from Palamar on December 15, 2022, 3:50 pmBuenas, la verdad es que le tenía esperanzas pero no ha funcionado @luishp, no sé si me estará faltando algo. Yo creo la rutina html mencionada arriba y traigo unos datos al array TempDatos, luego pongo el html en un objeto. Funciona todo perfecto cuando crea los objetos pero el botón nunca acciona la subrutina.
Cuando utilizaba el código anterior note que me traía los datos del Object.Id pero con ng-clic o ng-href no lo hace.
Buenas, la verdad es que le tenía esperanzas pero no ha funcionado @luishp, no sé si me estará faltando algo. Yo creo la rutina html mencionada arriba y traigo unos datos al array TempDatos, luego pongo el html en un objeto. Funciona todo perfecto cuando crea los objetos pero el botón nunca acciona la subrutina.
Cuando utilizaba el código anterior note que me traía los datos del Object.Id pero con ng-clic o ng-href no lo hace.

Quote from luishp on December 15, 2022, 10:47 pm@palamar mira el ajemplo adjunto.
Verás que recoge los datos de neoCms y muestra un título diferente en cada ficha al hacer click utilizando "ng-click"
Saludos!
@palamar mira el ajemplo adjunto.
Verás que recoge los datos de neoCms y muestra un título diferente en cada ficha al hacer click utilizando "ng-click"
Saludos!

Quote from Palamar on December 16, 2022, 4:33 pmBuenas, en principio gracias por el ejemplo @luishp
He solucionado el problema de forma poco común. El ejemplo funciona pero, aunque es similar, no es lo mismo que hago en mi app. Después de dar vueltas descubrí que cuando la etiqueta "<a>":
<a style="cursor:pointer" ng-click="TraerDatos([object.id])">Más información del ID</a>llama a una subrutina, lo que se obtiene en la misma es un objeto y no un String . Como mi subrutina tenía una acción del tipo:
neoPhpExecSql "db1" "UltimoDato" "[clicID]" "TraerDatos2"no funcionaba ya que lo que espera es un string o un entero y no un objeto. Lo curioso es que me di cuenta poniendo otra acción y sí funcionaba la llamada ya que me mostraba el parámetro enviado en la llamada. Luego puse para que me dijera que tipo de variable era el parámetro pasado y efectivamente era Object.
Lo que hice fue transformarlo a string y limpiarlo para poder pasarlo a la acción final.
No sé si esto es general o es algo que me pasa a mi por el tipo de consulta SQL (que no acepte un objeto). Tampoco he podido pasar el objeto a string con Javascript que creo yo hubiera sido la mejor opción.
Saludos y muchas gracias.
Buenas, en principio gracias por el ejemplo @luishp
He solucionado el problema de forma poco común. El ejemplo funciona pero, aunque es similar, no es lo mismo que hago en mi app. Después de dar vueltas descubrí que cuando la etiqueta "<a>":
<a style="cursor:pointer" ng-click="TraerDatos([object.id])">Más información del ID</a>
llama a una subrutina, lo que se obtiene en la misma es un objeto y no un String . Como mi subrutina tenía una acción del tipo:
neoPhpExecSql "db1" "UltimoDato" "[clicID]" "TraerDatos2"
no funcionaba ya que lo que espera es un string o un entero y no un objeto. Lo curioso es que me di cuenta poniendo otra acción y sí funcionaba la llamada ya que me mostraba el parámetro enviado en la llamada. Luego puse para que me dijera que tipo de variable era el parámetro pasado y efectivamente era Object.
Lo que hice fue transformarlo a string y limpiarlo para poder pasarlo a la acción final.
No sé si esto es general o es algo que me pasa a mi por el tipo de consulta SQL (que no acepte un objeto). Tampoco he podido pasar el objeto a string con Javascript que creo yo hubiera sido la mejor opción.
Saludos y muchas gracias.

Quote from luishp on December 16, 2022, 8:34 pm@palamar utlizando ConsoleLog puedes ver rápidamente en la Consola en qué formato se reciben los datos.
Una vez conoces la estructura del objeto es muy fácil acceder al "string" almacenado en él utlizando la notación de puntos.
Saludos!
@palamar utlizando ConsoleLog puedes ver rápidamente en la Consola en qué formato se reciben los datos.
Una vez conoces la estructura del objeto es muy fácil acceder al "string" almacenado en él utlizando la notación de puntos.
Saludos!