Skip to content

Instantly share code, notes, and snippets.

@3cp
Last active November 3, 2020 22:40
Show Gist options
  • Save 3cp/5f6828f565b5f901286e14cff169da10 to your computer and use it in GitHub Desktop.
Save 3cp/5f6828f565b5f901286e14cff169da10 to your computer and use it in GitHub Desktop.
au2-test
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dumber Gist</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<base href="/">
</head>
<!--
Dumber Gist uses dumber bundler, the default bundle file
is /dist/entry-bundle.js.
The starting module is pointed to "main" (data-main attribute on script)
which is your src/main.js.
-->
<body>
<my-app></my-app>
<script src="/dist/entry-bundle.js" data-main="main"></script>
</body>
</html>
{
"dependencies": {
"aurelia": "dev"
}
}
import Aurelia from 'aurelia';
import { MyApp } from './my-app';
Aurelia.app(MyApp).start();
<template>
<require from="./my-component"></require>
<p>
<button type="button" click.delegate="showComponent = true">Show Component</button>
</p>
<div repeat.for="i of 200">
<div>
<my-component if.bind="showComponent"
xy.bind="i"></my-component>
</div>
</div>
</template>
export class MyApp {
showComponent = false;
}
<template>
<div ref="divElement" style.bind="{ color: value ? '#333' : '#999' }">${value}</div>
</template>
import { bindable } from 'aurelia';
export class MyComponent {
@bindable xy;
value = '';
divElement;
bound()
{
this.value = 'item-' + this.xy;
}
attached()
{
setTimeout(() => {
// console.log(this.divElement.innerHTML);
// The innerHTML in aurelia2 starts with <!--au-start--><!--au-end-->item-
this.divElement.style.backgroundColor = this.divElement.innerHTML.includes('item')
? '#0a0'
: '#a00';
}, 50);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment