Skip to content

Instantly share code, notes, and snippets.

@geleto
Last active May 15, 2017 05:31
Show Gist options
  • Save geleto/930282fe8e059b9bbf3e6095a0f05fb9 to your computer and use it in GitHub Desktop.
Save geleto/930282fe8e059b9bbf3e6095a0f05fb9 to your computer and use it in GitHub Desktop.
observable/bindable Propery Descriptors
<template>
<p>${message}</p>
</template>
import { observable, bindable } from 'aurelia-framework';
class Test{
@observable p1 = "Property 1";
@bindable p2 = "Property 2";
p3 = "Property 3";
_p4 = "Property 4";
get p4(){
return this._p4;
}
set p4( value ){
this.p4 = value;
}
}
export class App {
constructor(){
var t = new Test();
console.log( t );
console.log( t.p1 );
console.log( Object.getOwnPropertyDescriptor( t, "p1" ) );
console.log( Object.getOwnPropertyDescriptor( t, "p2" ) );
console.log( Object.getOwnPropertyDescriptor( t, "p3" ) );
console.log( Object.getOwnPropertyDescriptor( t, "p4" ) );
}
message = JSON.stringify( new Test() );
}
<!doctype html>
<html>
<head>
<title>Aurelia</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body aurelia-app>
<h1>Loading...</h1>
<script src="https://jdanyow.github.io/rjs-bundle/node_modules/requirejs/require.js"></script>
<script src="https://jdanyow.github.io/rjs-bundle/config.js"></script>
<script src="https://jdanyow.github.io/rjs-bundle/bundles/aurelia.js"></script>
<script src="https://jdanyow.github.io/rjs-bundle/bundles/babel.js"></script>
<script>
require(['aurelia-bootstrapper']);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment