- From: Frank Thürigen <notifications@github.com>
- Date: Fri, 10 Aug 2018 17:00:39 -0700
- To: w3c/webcomponents <webcomponents@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/webcomponents/issues/645/412234768@github.com>
Hi everybody,
sorry I am joining in late. I have been working on web components and imports since 2004, and have a working web component solution since 2006. I would like to discuss the issue further, though.
My results (and this is just what I am most comfortable with) are as follows:
I want tags like this:
1. <ul js='tools.MyUlHelperClassName'>
// this works if you have a global repository variable "tools" containing the "MyUlHelperClassName" class
// much like the user builtin elements in the web components definition: <ul is="....">
or
2. <tools-myulhelperclassname>
// web component style, does not need global name space, since it can be defined in an IIFE and uses the browser internal element repo
Since (2) is just a wrapper layer for (1) in my system, I will only explain (1) here:
the js="..." attribute holds a space-separated list of classnames like e.g.:
<body js="utils.router">
my library - and my proposal would be the module loader as well - works like this (a bit simplified):
if there is no global hash object "util"
- let util={}
if "util" doesnt contain a property "Router"
- load "/util/Router.js"
finally // assuming util.Router exists now and is a class
- if <body> does not have a property "js": body.js = {}
- make an instance of the util.Router class and put it into <body>.js['Router']
- instance.target = <body>
- if body.js.Router contains an "init" function, call it //bootstrapping
All template handling happens inside the instance code. I do not require shadowdom or encapsuled CSS, but can use it if required. I have this since 2006 and happily do recursive on-demand module loading, so during development I dont even need a build.
What do you think about this approach? In my opinion the beauty od it is that it is all based on plain classes...
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/webcomponents/issues/645#issuecomment-412234768
Received on Saturday, 11 August 2018 00:01:16 UTC