vue新手入門出現(xiàn)function () { [native code] }錯(cuò)誤的解決方案
出現(xiàn)function () { [native code] }錯(cuò)誤的解決
控制臺輸出錯(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ò)誤,究其原因就是新人對“計(jì)算屬性”:computed和“事件處理”:methods傻傻分不清楚。根據(jù)官方文檔總結(jié)如下:
對于任何復(fù)雜邏輯,你都應(yīng)當(dāng)使用計(jì)算屬性。其余可以使用methods處理。
https://cn.vuejs.org/v2/guide/computed.html?

所以,下次如果再出現(xiàn)function () { [native code] },請使用對應(yīng)的方法獲取值。
這里的methods方法就應(yīng)該使用currentTime1()調(diào)用,計(jì)算屬性computed就應(yīng)該使用currentTime2調(diào)用。
完整methods方法和計(jì)算屬性對比運(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í)頁面顯示雙花括號{{}}問題
<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ì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01
Vue.js中class與style的增強(qiáng)綁定實(shí)現(xiàn)方法
由于Class和Style綁定使用頻繁,字符串拼接麻煩且易錯(cuò),因此,Vue.js 做了專門的增強(qiáng),表達(dá)式結(jié)果的類型除了字符串之外,還可以是對象或數(shù)組,本文給大家講解Vue.js中class與style的增強(qiáng)綁定知識,感興趣的朋友一起看看吧2023-04-04
VUE element上傳動(dòng)態(tài)設(shè)置action路徑和參數(shù)的坑及解決
這篇文章主要介紹了VUE element上傳動(dòng)態(tài)設(shè)置action路徑和參數(shù)的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
解決vue props傳Array/Object類型值,子組件報(bào)錯(cuò)的情況
這篇文章主要介紹了解決vue props傳Array/Object類型值,子組件報(bào)錯(cuò)的情況,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
vue實(shí)現(xiàn)前進(jìn)刷新后退不刷新效果
這篇文章主要介紹了vue實(shí)現(xiàn)前進(jìn)刷新,后退不刷新效果,即加載過的界面能緩存起來(返回不用重新加載),關(guān)閉的界面能被銷毀掉(再進(jìn)入時(shí)重新加載)。本文給大家分享實(shí)現(xiàn)思路,需要的朋友可以參考下2018-01-01

