老师帮忙看下

老师帮忙看下

http://img1.sycdn.imooc.com//climg/60b4523209efdc9919201048.jpg

就亚洲不能点,一点就报错

1
main/index.js<br>import './main.css';<br>import Tab from '../tab';<br>import Content from '../content';<br>import 'components/loading';<br>import {set, get} from 'utils/sessionStorage';<br>const tabEl=document.querySelector('.tab');<br>const tab=new Tab(tabEl);<br>// tab.setActiveltem();<br>const content=new Content(document.getElementById('destination-content'));<br>// tab.to(1).then(data=>{<br>//     content.set(data);<br>// });<br>const itemEls=tabEl.querySelectorAll('.tab-item');<br><br>// 事件代理(原理:利用事件冒泡机制)<br>tabEl.addEventListener('click',function(ev){<br>    // console.log(ev.target);<br>    // contains是否包含<br>    const itemEl = ev.target;<br>    if(itemEl.classList.contains('tab-item')){<br>        const index=itemEl.dataset.id-1;<br>        // 本地存储  临时存储 (缓存)<br>    const storageName = `destination_content_${index}`;<br>      const storageContent = get(storageName);<br>        if(storageContent){<br>            tab.setActiveltem(index);<br>            content.set(storageContent);<br>        }else{<br>            const tabPromise=tab.to(index);<br><br>            content.setLoading();<br><br>            tabPromise.then(data=>{<br>                content.set(data);<br>                 set(storageName, data);<br>            });<br><br>        }<br><br>    }<br>},false);<br>itemEls[0].click();<br>

session那个文件是复制老师的


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,老师测试代码没问题

http://img1.sycdn.imooc.com//climg/60b457d809942e7b12350302.jpg

​建议将这几个文件中的代码全部粘贴上来

http://img1.sycdn.imooc.com//climg/60b457f409511e1a07470179.jpg

老师替换测试下,看看是不是这几个的问题。

另外建议提交问题遇到审核时,不要再次提交,老师们可以看到,避免重复。

祝学习愉快!

  • 1
    Tab/index.js<br>import './tab.css';<br>import { getData, getDelayedData } from 'api/getData';<br>// https://www.imooc.com/api/mall-wepApp/destination/content<br>//发送请求     数据结构是[{URL,TEXT}]<br>import { URL, TAB_ITEM, TAB_ITEM_A } from './config';<br>class Tab {<br>    // el指选项卡<br>    constructor(el) {<br>        this.itemEls = el.querySelectorAll(TAB_ITEM);<br><br>    }<br>    setActiveltem(index) {<br>        for (const itemEl of this.itemEls) {<br>            itemEl.classList.remove(TAB_ITEM_A);<br>        }<br>        this.itemEls[index].classList.add(TAB_ITEM_A);<br>    }<br>    to(index) {<br>        //取消上次请求<br>        //为什么取消 因为如果网络环境卡 然后快速切换的话会出BUG <br>        if (this.dataPromise && this.dataPromise.xhr) {<br>            this.dataPromise.xhr.abort();<br>        }<br><br><br>        this.setActiveltem(index);<br>        this.dataPromise = getData(`${URL}/${this.itemEls[index].dataset.id}`);<br>        //dataset.id 获取id<br>        return this.dataPromise;<br><br>    }<br>}<br>export default Tab;<br>
    1
    Content/index.js<br>​import './content.css';<br>import render from './content.art';<br>import renderLoading from 'components/loading/loading.art';<br>class Content {<br>  //el指父类<br>    constructor(el) {<br>      this.el = el;<br>    }<br><br>    set(data) {<br>      this.el.innerHTML = render({<br>        contents: data<br>      });<br>    }<br><br>    setLoading() {<br>      this.el.innerHTML = renderLoading();<br>    }<br>  }<br><br>  export default Content;<br><br>
    1
    ​session<br>​const storage = window.sessionStorage;<br><br>// 设置<br>const set = (key, value) => {<br>  storage.setItem(key, JSON.stringify(value));<br>};<br><br>// 获取<br>const get = key => {<br>  return JSON.parse(storage.getItem(key));<br>};<br><br>// 删除<br>const remove = key => {<br>  storage.removeItem(key);<br>};<br><br>// 清空<br>const clear = () => {<br>  storage.clear();<br>};<br><br>export { set, get, remove, clear };<br><br>


    2021-05-31 11:33:37
  • 老师我实在找不到错哪了把文件给你吧

    2021-05-31 12:02:37
  • 老师我弄好了,把浏览器关掉重打开了一下?

    2021-05-31 12:04:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码