Skip to content

Instantly share code, notes, and snippets.

@Thanood
Last active February 12, 2017 13:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Thanood/ab6f81744f4b0fa8a93e509ad95604ff to your computer and use it in GitHub Desktop.
Save Thanood/ab6f81744f4b0fa8a93e509ad95604ff to your computer and use it in GitHub Desktop.
Aurelia-Materialize bridge select bind onjects
<template>
<div>
<select md-select="enable-option-observer: true;" value.two-way="selectedMeal">
<option model.bind="null">Select your meal</option>
<option repeat.for="meal of food" model.bind="meal">${meal.name} - ${meal.count}</option>
</select>
<a md-button="flat: true;" md-waves click.trigger="setSelectedMeal()" class="accent-text">select steak</a>
<a md-button="flat: true;" md-waves click.trigger="increasePizzaCount()" class="accent-text">increase pizza count</a>
You selected: ${selectedMeal | stringify}
</div>
</template>
export class App {
food = [
{ id: 0, name: 'Pizza', count: 1 },
{ id: 1, name: 'Cake', count: 3 },
{ id: 2, name: 'Steak', count: 6 },
{ id: 3, name: 'Pasta', count: 2 },
{ id: 4, name: 'Fries', count: 7 }
];
selectedMeal = null;
setSelectedMeal() {
this.selectedMeal = this.food[2];
}
increasePizzaCount() {
this.food[0].count++;
}
}
export class StringifyValueConverter {
toView(value) {
return JSON.stringify(value);
}
}
<!doctype html>
<html>
<head>
<title>Aurelia</title>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body aurelia-app="main">
<h1>Loading...</h1>
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.6/system.js"></script>
<script src="https://rawgit.com/aurelia-ui-toolkits/aurelia-materialize-bundles/0.20.2/config2.js"></script>
<script>
System.import('aurelia-bootstrapper');
</script>
</body>
</html>
/*******************************************************************************
* The following two lines enable async/await without using babel's
* "runtime" transformer. Uncomment the lines if you intend to use async/await.
*
* More info here: https://github.com/jdanyow/aurelia-plunker/issues/2
*/
//import regeneratorRuntime from 'babel-runtime/regenerator';
//window.regeneratorRuntime = regeneratorRuntime;
/******************************************************************************/
import 'materialize';
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin('aurelia-materialize-bridge', bridge => bridge.useAll() );
aurelia.start().then(a => a.setRoot());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment