Note: Jet.Js ia ALPA yet, can have any bugs. Found a bug, report Here.

Dynamic Attributes

Dynamic Classes

The :class attribute dynamically adds classes.

Static classes should be added directly to attribute “class“.

Dynamic classes come from your component data or computed values and added to attribute “:class“, ie same as normal class but staring with “:“.

Example

com({
  name: 'my-app',
  data: {
    class1: 'tx-blue',
    class2: 'e-flame',
    class3: 'tx-blue e-flame',
  },
  tpl() {
    return html`
      <div class="fd-c g-1">
        <div :class="class1">Single dynamic class</div>
        <div :class="class1 class2">Chained classes(should be devided by space)</div>
        <div :class="class3">Multiple class</div>
        <div class="tx-blue" :class="class2">Mixed, static and dynamic</div>
      </div>
    `;
  },
});

Dynamic Inline Styles

The :style attribute dynamically applies styles.

You can use:

Jet supports:

Syntax note: Style should be as an object ie in curved braces, comma-separated model key:value.

Keys should be strong css names(css style or camelCase style);

Object using Note: Object keys should be named as css properties in camelCase

Wrong: font-size: ’24px’,

Correct: fontSize: ’24px’,

com({
  name: 'com-style',
  data: {
    bg: '#c8e6c9',
    col: '#00f',
    style_object: { 
        color: '#fff', 
        backgroundColor: '#1e87f0' 
    },
    style2: { fontSize: '24px' },
  },
  tpl() {
    return html`
      <div class="fd-c g-1">
        <div class="p-1" :style="{ background-color: bg; }">CSS-case(background-color) </div>
        <div class="p-1" :style="{ backgroundColor: bg; color: col }">camelCase(backgroundColor)</div>
        <div class="p-1" :style="style_object">Using Object as style </div>
        <div class="p-1" :style="[ style_object, style2 ]">Multiple style as array(not sure it will be useful, but let it be)</div>
      </div>
    `;
  },
});

Other Attributes

Rest of attributes adds the same adding : before attribute

Example

com({
  name: 'com-attr',
  data: {
    img: 'http://magicjet.org/wp-content/themes/jet-2500/img/logo.png',
    alt_text: 'Lorem Ipsum',
  },
  tpl: `<img :src="img" :alt="alt_text">`,
});

 

⚠️Note: This documentation is still being written and updated regularly. For now it rather short, but will be detailed and will be added more examples. Jet.js is in alpha, so features may change or improve quickly.
It’s recommended to subscribe for mailing list to be informed in time Click here