CDN的引用slimjs IIFE 使用示例
时间: 2023-05-27 11:03:24 浏览: 131
elementui2.8版本cdn引用使用
假设我们有一个名为`index.html`的文件,其中引用了CDN上的`slimjs`库:
```html
<!DOCTYPE html>
<html>
<head>
<title>使用slimjs</title>
<script src="https://cdn.jsdelivr.net/npm/slimjs/slim.min.js"></script>
</head>
<body>
<div id="app"></div>
<script>
// 使用IIFE创建组件
(function() {
class MyComponent extends Slim {
onBeforeCreated() {
console.log('组件即将创建');
}
onCreated() {
console.log('组件已创建');
}
onBeforeRender() {
console.log('组件即将渲染');
}
onRender() {
console.log('组件已渲染');
this.update();
}
onBeforeUpdate() {
console.log('组件即将更新');
}
onUpdate() {
console.log('组件已更新');
}
onBeforeRemove() {
console.log('组件即将移除');
}
onRemoved() {
console.log('组件已移除');
}
// 渲染组件
render() {
return this.html('<h1>Hello, slimjs!</h1>');
}
}
// 将组件挂载到 DOM
Slim.tag('my-component', MyComponent);
Slim.mount('my-component', '#app');
})();
</script>
</body>
</html>
```
在上面的例子中,我们使用了一个IIFE(立即调用函数表达式)的方式来创建`MyComponent`组件。在组件的生命周期钩子函数中,我们通过`console.log()`打印日志,以便查看组件的创建、渲染、更新和移除等过程。
同时,我们调用了`Slim.tag()`方法来定义一个自定义标签`my-component`,并将其与`MyComponent`组件关联起来,在页面上调用`Slim.mount()`方法将`my-component`标签挂载到了`#app`元素上,使组件可以在页面上正确显示。
需要注意的是,在使用slimjs的IIFE创建组件时,我们需要在函数体内部使用`class`关键字来定义组件,而不是在全局命名空间中直接声明函数。
阅读全文