how to use vanilla js iterate the Symbol Object All In One
bug ❌
Uncaught TypeError: UIComponents is not iterable
import * as UIComponents from './index'
console.log(`UIComponents =`, UIComponents);
// UIComponents = Module {Symbol(Symbol.toStringTag): 'Module'}
export const UIComponentsInstall = {
// 钩子函数
install: (app: App) => {
// Uncaught TypeError: UIComponents is not iterable ❌
for (const component of UIComponents) {
// 把组件挂载到 Vue 上
app.component(component.name, component);
}
}
}
solution ✅
lodash-es
$ yarn add -D lodash-es @types/lodash-es
loadsh forEach
import * as UIComponents from './index'
export const UIComponentsInstall = {
// 钩子函数
install: (app: App) => {
forEach(UIComponents, (component) => {
// 把组件挂载到 Vue 上
app.component(component.name, component);
})
}
}
???
let str = "Hello";
// does the same as
// for (let char of str) alert(char);
let iterator = str[Symbol.iterator]();
while (true) {
let result = iterator.next();
if (result.done) break;
alert(result.value); // outputs characters one by one
}
https://javascript.info/iterable
https://www.youtube.com/watch?v=CM_oBrnB4Vk&ab_channel=codebubb
https://www.youtube.com/watch?v=2oU-DfdWM0c&ab_channel=dcode
refs
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/iterator
©xgqfrms 2012-2020
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载
标签:use,iterator,vanilla,Object,component,let,app,Symbol,UIComponents From: https://www.cnblogs.com/xgqfrms/p/16648418.html