Skip to content

Instantly share code, notes, and snippets.

@FrankWang117
Created August 14, 2019 05:33
Show Gist options
  • Save FrankWang117/ba09e758ac9625448713348f9d887a41 to your computer and use it in GitHub Desktop.
Save FrankWang117/ba09e758ac9625448713348f9d887a41 to your computer and use it in GitHub Desktop.
datachangeui
// import Ember from 'ember';
// export default Ember.Component.extend({
// });
import Component from '@ember/component';
import { computed } from '@ember/object';
export default Ember.Component.extend({
tagName: 'li',
classNames: ['item'],
localClassNames: 'item',
classNameBindings: ['active'],
active: computed('choosed',function() {
let {fruit,choosed} = this.getProperties('fruit','choosed');
if(fruit.id === choosed.id) {
return true
}
return false
}),
onClick() {
},
click() {
let fruit = this.get('fruit'),
action = this.get('onClick');
// console.log(fruit)
console.log(this.get('choosed'))
action(fruit);
}
});
// import Ember from 'ember';
// export default Ember.Component.extend({
// });
import Component from '@ember/component';
import {A} from '@ember/array';
import EmberObject from '@ember/object';
export default Component.extend({
choosed: EmberObject.create({name:'orange',value:1,id:'item2',count: 21}),
tagName:'ul',
items: A([
{name:'apple',value:0,id:'item1',count: 3},
{name:'orange',value:1,id:'item2',count: 21},
{name:'banana',value:2,id:'item3',count: 1},
{name:'watermelon',value:3,id:'item4',count: 4},
{name:'cherry tomato',value:4,id:'item5',count: 4},
{name:'nectarine',value:5,id:'item6',count: 9},
])
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'dataChangeUI'
});
body {
margin: 12px 16px;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12pt;
}
ul {
list-style: none;
}
ul .item {
border: 1px solid #eee;
cursor: pointer;
height: 40px;
line-height: 40px;
padding: 0 20px;
width: 220px;
}
ul .item.active {
border: 1px solid lightblue;
background-color: lightblue;
}
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{fruit-list}}
{{outlet}}
<br>
<br>
{{fruit.name}} and count is {{fruit.count}}
{{#each items as |item|}}
{{fruit-item fruit=item choosed=choosed onClick=(action (mut choosed))}}
{{/each}}
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment