Tiempo lectura: 0 min. 42 s.
Expandos # Ejemplo Siviglia-js
Expandos, ejemplo de uso con Siviglia-js
El siguiente código veremos los expandos:
- Expandos.
- No hay contexto en el
<script> - HTMLParser, es el que busca expandos.
Los expandos sirven para expandir un contexto y aplicarlo a una entidad <html>.
<html>
<head>
<script src="/node_modules/jquery/dist/jquery.js"></script>
<script src="../../../Siviglia.js"></script>
<script src="../../../SivigliaStore.js"></script>
<script src="../../../Model.js"></script>
<script src="../../../SivigliaTypes.js"></script>
<script>
var contextStack = new Siviglia.Path.ContextStack();
var obj = {
paises: {"espana": ["Madrid","Sevilla","Barcelona"],
"francia": ["Paris","asdas","asdasdas"]
}
};
var obj2 = {
h:"espana"
};
// NO hay variables de contexto
// var plainCtx = new Siviglia.Path.BaseObjectContext(obj, "#", contextStack);
// var plainCtx2 = new Siviglia.Path.BaseObjectContext(obj2, "!", contextStack);
setTimeout(function(){
obj2.h="francia";
},3000);
setTimeout(function(){
obj.clname="dos";
},3000);
setTimeout(function(){
obj.myId=24;
},3000);
</script>
</head>
<body>
<!-- expandiendo el ::class|[%#clname%] -->
<a data-sivValue="Una ciudad de [%!h%] es [%#paises/{%!h%}/2%]::class|[%#clname%]::href|http://www.pepito.com/user?usreId=[%#myId%]"></a>
<script>
var parser=new Siviglia.UI.HTMLParser();
parser.addContext("#",obj);
parser.addContext("!",obj2);
parser.parse($(document.body));
</script>
</body>
</html>
En resumen, lo más importante de este ejemplo es quedarnos con la idea de:
- Siviglia.UI.HTMLParser, es el que busca expandos y puede resolver contextos asociados a objetos.
Última modificación: March 11, 2020