課程
/前端開發(fā)
/Vue.js
/快速入門Web閱讀器開發(fā)
請問navigatino和bookAvailable未定義哪里報錯了,都是照著碼的,
2018-10-28
源自:快速入門Web閱讀器開發(fā) 3-11
正在回答
你好,應(yīng)該是MenuBar組件中沒有定義navigatin和bookAvailable變量,所以引用不到
Zzkung 提問者
Sam 回復(fù) Zzkung 提問者
Zzkung 提問者 回復(fù) Sam
bookAvailable? !!兄dei
// 這是MenuBar.vue的源碼
<template>
? ? <div class="menu-bar">
? ? ? ? <!-- 底部菜單欄 -->
? ? ? ? <transition name="slide-up">
? ? ? ? ? ? <div class="menu-wrapper" :class="{'hide-box-shadow': ifSettingShow || !ifTitleAndMenuShow}" v-show="ifTitleAndMenuShow">
? ? ? ? ? ? ? ? <div class="icon-wrapper">
? ? ? ? ? ? ? ? ? ? <span class="icon-menu icon" @click="showSetting(3)"></span>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? <span class="icon-progress icon" @click="showSetting(2)"></span>
? ? ? ? ? ? ? ? ? ? <span class="icon-bright icon" @click="showSetting(1)"></span>
? ? ? ? ? ? ? ? ? ? <span class="icon-a icon" @click="showSetting(0)">A</span>
? ? ? ? ? ? </div>
? ? ? ? </transition>
? ? ? ? ? ? <div class="setting-wrapper" v-show="ifSettingShow">
? ? ? ? ? ? ? ? <div class="setting-font-size" v-if="showTag === 0">
? ? ? ? ? ? ? ? ? <div class="preview" :style="{fontSize: fontSizeList[0].fontSize + 'px'}">A</div>
? ? ? ? ? ? ? ? ? <div class="select">
? ? ? ? ? ? ? ? ? ? <div class="select-wrapper" v-for="(item, index) in fontSizeList" :key="index" @click="setFontSize(item.fontSize)">
? ? ? ? ? ? ? ? ? ? ? <div class="line"></div>
? ? ? ? ? ? ? ? ? ? ? <div class="point-wrapper">
? ? ? ? ? ? ? ? ? ? ? ? <div class="point" v-show="defaultFontSize === item.fontSize">
? ? ? ? ? ? ? ? ? ? ? ? ? <div class="small-point"></div>
? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? <div class="preview" :style="{fontSize: fontSizeList[fontSizeList.length - 1].fontSize + 'px'}">A</div>
? ? ? ? ? ? ? ? <div class="setting-theme" v-else-if="showTag === 1">
? ? ? ? ? ? ? ? ? <div class="setting-theme-item" v-for="(item, index) in themeList" :key="index" @click="setTheme(index)">
? ? ? ? ? ? ? ? ? ? <div class="preview" :style="{background: item.style.body.background}" :class="{'no-border': item.style.body.background !== '#fff'}"></div>
? ? ? ? ? ? ? ? ? ? <div class="text" :class="{'selected': index === defaultTheme}">{{ item.name }}</div>
? ? ? ? ? ? ? ? <div class="setting-progress" v-else-if="showTag === 2">
? ? ? ? ? ? ? ? ? <div class="progress-wrapper">
? ? ? ? ? ? ? ? ? ? <input class="progress" type="range"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? max="100"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? min="0"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? step="1"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @change="onProgressChange($event.target.value)"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @input="onProgressInput($event.target.value)"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? :value="progress"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? :disabled="!bookAvailable"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ref="progress" />
? ? ? ? ? ? ? ? ? <div class="text-wrapper">
? ? ? ? ? ? ? ? ? ? <span>{{ bookAvailable ? progress + '%' : '加載中...' }}</span>
? ? ? ? <content-view :ifShowContent="ifShowContent"
? ? ? ? ? ? ? ? ? ? ? v-show="ifShowContent"
? ? ? ? ? ? ? ? ? ? ? :navigation="navigation"
? ? ? ? ? ? ? ? ? ? ? :bookAvailable="bookAvailable"
? ? ? ? ? ? ? ? ? ? ? @jumpTo="jumpTo"></content-view>
? ? ? ? <transition name="fade">
? ? ? ? ? <div class="content-mask" v-show="ifShowContent" @click="hideContent"></div>
? ? </div>
</template>
<script type="text/ecmascript-6">
import ContentView from '@/components/Content'
export default {
? components: {
? ? ContentView
? },
? props: {
? ? ifTitleAndMenuShow: {
? ? ? type: Boolean,
? ? ? default: false
? ? },
? ? fontSizeList: Array,
? ? defaultFontSize: Number,
? ? themeList: Array,
? ? defaultTheme: Number,
? ? bookAuailable: {
? ? navigation: Object
? data() {
? ? return {
? ? ? ifSettingShow: false,
? ? ? showTag: 0,
? ? ? progress: 0,
? ? ? ifShowContent: false
? ? }
? methods: {
? ? hideContent() {
? ? ? this.ifShowContent = false
? ? jumpTo(target) {
? ? ? this.$emit('jumpTo', target)
? ? // 拖動進度條時觸發(fā)事件
? ? onProgressInput(progress) {
? ? ? this.progress = progress
? ? ? this.$refs.progress.style.backgroundSize = `${this.progress}% 100%`
? ? // 進度條松開后觸發(fā)事件,根據(jù)進度條數(shù)值跳轉(zhuǎn)到指定位置
? ? onProgressChange(progress) {
? ? ? this.$emit('onProgressChange', progress)
? ? setTheme(index) {
? ? ? this.$emit('setTheme', index)
? ? setFontSize(fontSize) {
? ? ? this.$emit('setFontSize', fontSize)
? ? showSetting(tag) {
? ? ? this.showTag = tag
? ? ? if (this.showTag === 3) {
? ? ? ? this.ifSettingShow = false
? ? ? ? this.ifShowContent = true
? ? ? } else {
? ? ? ? this.ifSettingShow = true
? ? ? }
? ? hideSetting() {
? ? ? this.ifSettingShow = false
? }
}
</script>
番茄炒蛋不放糖_
舉報
帶你了解電子書閱讀器的工作原理,通過Vue.js快速實現(xiàn)Web閱讀器
1 回答請問scss里邊報錯了怎么辦呢?
1 回答為什么說'hideSetting'方法未定義?
1 回答icon-cart等圖標是在哪個文件里定義的?
2 回答$fontSize為啥定義為37.5
2 回答頁面報錯了
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-10-29
你好,應(yīng)該是MenuBar組件中沒有定義navigatin和bookAvailable變量,所以引用不到
2018-10-30
bookAvailable? !!兄dei
2018-10-30
// 這是MenuBar.vue的源碼
<template>
? ? <div class="menu-bar">
? ? ? ? <!-- 底部菜單欄 -->
? ? ? ? <transition name="slide-up">
? ? ? ? ? ? <div class="menu-wrapper" :class="{'hide-box-shadow': ifSettingShow || !ifTitleAndMenuShow}" v-show="ifTitleAndMenuShow">
? ? ? ? ? ? ? ? <div class="icon-wrapper">
? ? ? ? ? ? ? ? ? ? <span class="icon-menu icon" @click="showSetting(3)"></span>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? <div class="icon-wrapper">
? ? ? ? ? ? ? ? ? ? <span class="icon-progress icon" @click="showSetting(2)"></span>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? <div class="icon-wrapper">
? ? ? ? ? ? ? ? ? ? <span class="icon-bright icon" @click="showSetting(1)"></span>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? <div class="icon-wrapper">
? ? ? ? ? ? ? ? ? ? <span class="icon-a icon" @click="showSetting(0)">A</span>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? </div>
? ? ? ? </transition>
? ? ? ? <transition name="slide-up">
? ? ? ? ? ? <div class="setting-wrapper" v-show="ifSettingShow">
? ? ? ? ? ? ? ? <div class="setting-font-size" v-if="showTag === 0">
? ? ? ? ? ? ? ? ? <div class="preview" :style="{fontSize: fontSizeList[0].fontSize + 'px'}">A</div>
? ? ? ? ? ? ? ? ? <div class="select">
? ? ? ? ? ? ? ? ? ? <div class="select-wrapper" v-for="(item, index) in fontSizeList" :key="index" @click="setFontSize(item.fontSize)">
? ? ? ? ? ? ? ? ? ? ? <div class="line"></div>
? ? ? ? ? ? ? ? ? ? ? <div class="point-wrapper">
? ? ? ? ? ? ? ? ? ? ? ? <div class="point" v-show="defaultFontSize === item.fontSize">
? ? ? ? ? ? ? ? ? ? ? ? ? <div class="small-point"></div>
? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? <div class="line"></div>
? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? <div class="preview" :style="{fontSize: fontSizeList[fontSizeList.length - 1].fontSize + 'px'}">A</div>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? <div class="setting-theme" v-else-if="showTag === 1">
? ? ? ? ? ? ? ? ? <div class="setting-theme-item" v-for="(item, index) in themeList" :key="index" @click="setTheme(index)">
? ? ? ? ? ? ? ? ? ? <div class="preview" :style="{background: item.style.body.background}" :class="{'no-border': item.style.body.background !== '#fff'}"></div>
? ? ? ? ? ? ? ? ? ? <div class="text" :class="{'selected': index === defaultTheme}">{{ item.name }}</div>
? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? <div class="setting-progress" v-else-if="showTag === 2">
? ? ? ? ? ? ? ? ? <div class="progress-wrapper">
? ? ? ? ? ? ? ? ? ? <input class="progress" type="range"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? max="100"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? min="0"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? step="1"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @change="onProgressChange($event.target.value)"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @input="onProgressInput($event.target.value)"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? :value="progress"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? :disabled="!bookAvailable"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ref="progress" />
? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? <div class="text-wrapper">
? ? ? ? ? ? ? ? ? ? <span>{{ bookAvailable ? progress + '%' : '加載中...' }}</span>
? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? </div>
? ? ? ? </transition>
? ? ? ? <content-view :ifShowContent="ifShowContent"
? ? ? ? ? ? ? ? ? ? ? v-show="ifShowContent"
? ? ? ? ? ? ? ? ? ? ? :navigation="navigation"
? ? ? ? ? ? ? ? ? ? ? :bookAvailable="bookAvailable"
? ? ? ? ? ? ? ? ? ? ? @jumpTo="jumpTo"></content-view>
? ? ? ? <transition name="fade">
? ? ? ? ? <div class="content-mask" v-show="ifShowContent" @click="hideContent"></div>
? ? ? ? </transition>
? ? </div>
</template>
<script type="text/ecmascript-6">
import ContentView from '@/components/Content'
export default {
? components: {
? ? ContentView
? },
? props: {
? ? ifTitleAndMenuShow: {
? ? ? type: Boolean,
? ? ? default: false
? ? },
? ? fontSizeList: Array,
? ? defaultFontSize: Number,
? ? themeList: Array,
? ? defaultTheme: Number,
? ? bookAuailable: {
? ? ? type: Boolean,
? ? ? default: false
? ? },
? ? navigation: Object
? },
? data() {
? ? return {
? ? ? ifSettingShow: false,
? ? ? showTag: 0,
? ? ? progress: 0,
? ? ? ifShowContent: false
? ? }
? },
? methods: {
? ? hideContent() {
? ? ? this.ifShowContent = false
? ? },
? ? jumpTo(target) {
? ? ? this.$emit('jumpTo', target)
? ? },
? ? // 拖動進度條時觸發(fā)事件
? ? onProgressInput(progress) {
? ? ? this.progress = progress
? ? ? this.$refs.progress.style.backgroundSize = `${this.progress}% 100%`
? ? },
? ? // 進度條松開后觸發(fā)事件,根據(jù)進度條數(shù)值跳轉(zhuǎn)到指定位置
? ? onProgressChange(progress) {
? ? ? this.$emit('onProgressChange', progress)
? ? },
? ? setTheme(index) {
? ? ? this.$emit('setTheme', index)
? ? },
? ? setFontSize(fontSize) {
? ? ? this.$emit('setFontSize', fontSize)
? ? },
? ? showSetting(tag) {
? ? ? this.showTag = tag
? ? ? if (this.showTag === 3) {
? ? ? ? this.ifSettingShow = false
? ? ? ? this.ifShowContent = true
? ? ? } else {
? ? ? ? this.ifSettingShow = true
? ? ? }
? ? },
? ? hideSetting() {
? ? ? this.ifSettingShow = false
? ? }
? }
}
</script>