vue新手入門出現(xiàn)function () { [native code] }錯(cuò)誤的解決方案
出現(xiàn)function () { [native code] }錯(cuò)誤的解決
控制臺(tái)輸出錯(cuò)誤:
[Vue warn]: Unknown custom element: <p1> - did you register the component correctly?
For recursive components, make sure to provide the "name" option.
頁面提示:
function () { [native code] },無法出現(xiàn)我們想要的內(nèi)容
頁面代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="vue"> <!-- 下面這行代碼出錯(cuò)--> <p1>{{currentTime1}}</p1></br> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script> var vm=new Vue({ el:"#vue", data:{ message:"hello world" }, methods:{ currentTime1: function () { return Date.now();//返回當(dāng)前時(shí)間戳 } } }); </script> </body> </html>
綜上錯(cuò)誤,究其原因就是新人對(duì)“計(jì)算屬性”:computed和“事件處理”:methods傻傻分不清楚。根據(jù)官方文檔總結(jié)如下:
對(duì)于任何復(fù)雜邏輯,你都應(yīng)當(dāng)使用計(jì)算屬性。其余可以使用methods處理。
https://cn.vuejs.org/v2/guide/computed.html?
所以,下次如果再出現(xiàn)function () { [native code] },請(qǐng)使用對(duì)應(yīng)的方法獲取值。
這里的methods方法就應(yīng)該使用currentTime1()調(diào)用,計(jì)算屬性computed就應(yīng)該使用currentTime2調(diào)用。
完整methods方法和計(jì)算屬性對(duì)比運(yùn)行代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="vue"> <p1>{{currentTime1()}}</p1></br> <p1>{{currentTime2}}</p1> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script> var vm=new Vue({ el:"#vue", data:{ message:"hello world" }, methods:{ currentTime1: function () { return Date.now();//返回當(dāng)前時(shí)間戳 } }, computed:{ //存在緩存,建議不經(jīng)常的變化的在次操作 currentTime2:function () { return Date.now(); } } }); </script> </body> </html>
頁面效果:
vue使用過程中遇到的bug及解決
1.用event.target操作當(dāng)前元素出現(xiàn)bug
改為用event.currentTarget。
2.data數(shù)據(jù)更新之后渲染頁面是異步的
所以要在$nextTick里面,DOM元素更新之后再操作DOM
3.v-cloak解決網(wǎng)絡(luò)不好時(shí)頁面顯示雙花括號(hào){{}}問題
<template> ? <div id="app"> ? ? <div v-cloak>{{ item.title }}</div> ? </div> </template>
<style> ? [v-cloak] { ? ? ? display: none; ? } </style>
4.v-pre跳過組件和子組件的編譯過程
比如<span v-pre>{{ instead }}</span>渲染出來的是{{ instead }}字符串,不會(huì)再js中找instead這個(gè)數(shù)據(jù)
5.element的navMenu導(dǎo)航菜單的index不能用數(shù)字
而要用字符串。
解決辦法: :index = "index + ‘’" 轉(zhuǎn)化成字符串
6.vue中main.js一引入sass文件就報(bào)錯(cuò)
提示路徑找不到或者依賴找不到,是因?yàn)閣ebpack.base.conf.js中
{ ? ? ? ? test: /\.scss$/, ? ? ? ? loaders: ["style", "css", "sass"] ? ? ? }
重復(fù)配了,把它刪掉就好了(新版的vue-cli默認(rèn)配置了這個(gè))
7.所有的v-if最好都加上key
否則因?yàn)橄嗤瑯?biāo)簽元素復(fù)用會(huì)導(dǎo)致意想不到的bug
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Pure admin-Router標(biāo)簽頁配置與頁面持久化實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Pure admin-Router標(biāo)簽頁配置與頁面持久化實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01Vue.js中class與style的增強(qiáng)綁定實(shí)現(xiàn)方法
由于Class和Style綁定使用頻繁,字符串拼接麻煩且易錯(cuò),因此,Vue.js 做了專門的增強(qiáng),表達(dá)式結(jié)果的類型除了字符串之外,還可以是對(duì)象或數(shù)組,本文給大家講解Vue.js中class與style的增強(qiáng)綁定知識(shí),感興趣的朋友一起看看吧2023-04-04VUE element上傳動(dòng)態(tài)設(shè)置action路徑和參數(shù)的坑及解決
這篇文章主要介紹了VUE element上傳動(dòng)態(tài)設(shè)置action路徑和參數(shù)的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07解決vue props傳Array/Object類型值,子組件報(bào)錯(cuò)的情況
這篇文章主要介紹了解決vue props傳Array/Object類型值,子組件報(bào)錯(cuò)的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11vue實(shí)現(xiàn)前進(jìn)刷新后退不刷新效果
這篇文章主要介紹了vue實(shí)現(xiàn)前進(jìn)刷新,后退不刷新效果,即加載過的界面能緩存起來(返回不用重新加載),關(guān)閉的界面能被銷毀掉(再進(jìn)入時(shí)重新加載)。本文給大家分享實(shí)現(xiàn)思路,需要的朋友可以參考下2018-01-01