Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@kmccullough
Created June 22, 2021 02:37
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 kmccullough/d72b39e8994217a382ab5ca9b12c2919 to your computer and use it in GitHub Desktop.
Save kmccullough/d72b39e8994217a382ab5ca9b12c2919 to your computer and use it in GitHub Desktop.
Hash vs Custom Context
import Controller from '@ember/controller';
export default class ApplicationController extends Controller {
appName = 'Ember Twiddle';
}
import { helper } from '@ember/component/helper';
export default helper(function newContextHelper() {
return {};
});
import { helper } from '@ember/component/helper';
export default helper(function notHelper([ value ]) {
return !value;
});
import { helper } from '@ember/component/helper';
import { set } from '@ember/object';
export default helper(function setHelper(args0) {
return (...args1) => {
const [ ctx, key, val ] = [ ...args0, ...args1 ];
set(ctx, key, val);
return val;
};
});
{{#let (hash) as |hashCtx|}}
<button {{on "click" (set hashCtx "toggle" (not hashCtx.toggle))}}>
{{if (not hashCtx.toggle) "!"}} Hash Context
</button>
{{/let}}
{{#let (new-context) as |newCtx|}}
<button {{on "click" (set newCtx "toggle" (not newCtx.toggle))}}>
{{if (not newCtx.toggle) "!"}} New Context
</button>
{{/let}}
{{outlet}}
{
"version": "0.17.1",
"EmberENV": {
"FEATURES": {},
"_TEMPLATE_ONLY_GLIMMER_COMPONENTS": false,
"_APPLICATION_TEMPLATE_WRAPPER": true,
"_JQUERY_INTEGRATION": true
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js",
"ember": "3.18.1",
"ember-template-compiler": "3.18.1",
"ember-testing": "3.18.1",
"ember-event-helpers": "^0.1.1"
},
"addons": {
"@glimmer/component": "1.0.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment