Skip to content

Instantly share code, notes, and snippets.

@ssylvia
Forked from toranb/components.number-count.js
Last active November 13, 2017 18:59
Show Gist options
  • Save ssylvia/29f98311480f28f66c374f0e94fae79b to your computer and use it in GitHub Desktop.
Save ssylvia/29f98311480f28f66c374f0e94fae79b to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
import hbs from 'htmlbars-inline-precompile';
import { connect } from 'ember-redux';
const stateToComputed = state => {
return {
number: state.number,
another: state.another,
};
};
const dispatchToActions = dispatch => {
return {
add: () => dispatch({type: 'ADD'}),
change: () => dispatch({type: 'ANOTHER'})
};
};
const NumbersComponent = Ember.Component.extend({
layout: hbs`
{{number}}
<button onclick={{action "add"}}>add</button>
{{numberComputed}}
<br>
<br>
{{another}}
<button onclick={{action "change"}}>change another</button>
{{anotherComputed}}
`,
numberComputed: Ember.computed('number',function() {
console.log('number computed run');
return this.get('number');
}),
anotherComputed: Ember.computed('another',function() {
console.log('another computed run');
return this.get('another');
})
});
export default connect(stateToComputed, dispatchToActions)(NumbersComponent);
import { combineReducers } from 'redux';
const number = ((state, action) => {
if(action.type === 'ADD') {
return state + 1;
}
return state || 0;
});
const another = ((state, action) => {
if(action.type === 'ANOTHER') {
return state + 2;
}
return state || 0;
});
export default combineReducers({
number,
another
});
<h1>Ember Redux</h1>
<h1>Counter Example</h1>
<br>
<br>
{{number-count}}
{
"version": "0.12.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-redux": "3.0.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment