Skip to content

Instantly share code, notes, and snippets.

@jacobq
Created May 12, 2022 15:35
Show Gist options
  • Save jacobq/7b3d1a5144e22102a7c2cd0f599ff7ed to your computer and use it in GitHub Desktop.
Save jacobq/7b3d1a5144e22102a7c2cd0f599ff7ed to your computer and use it in GitHub Desktop.
component arg types
//import { tracked } from '@glimmer/tracking';
import Component from '@glimmer/component';
export default class extends Component {
get result() {
return typeof this.args.arg1;
}
}
import Controller from '@ember/controller';
export default class ApplicationController extends Controller {
appName = 'Ember Twiddle';
}
<h1>Welcome to {{this.appName}}</h1>
<br>
\{{1}}: <MyComponent @arg1={{1}}/><br>
\{{100}}: <MyComponent @arg1={{100}}/><br>
"100": <MyComponent @arg1="100"/><br>
100: <MyComponent @arg1=100/><br>
<br>
\{{true}}: <MyComponent @arg1={{true}}/><br>
\{{false}}:<MyComponent @arg1={{false}}/><br>
"true": <MyComponent @arg1="true"/><br>
true: <MyComponent @arg1=true/><br>
<br>
{{!-- breaks at compile-time
\{{[]}}: <MyComponent @arg1={{[]}}/><br>
\{{{}}}: <MyComponent @arg1={{{}}}/><br>
--}}
\{{hash}}: <MyComponent @arg1={{hash}}/><br>
\{{array}}: <MyComponent @arg1={{array}}/><br>
[]: <MyComponent @arg1=[]/><br>
<br>
{{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"
},
"addons": {
"@glimmer/component": "1.0.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment