Vue.jsでデモアプリを構築しようとしています。私が得ているのは、Vueが定義されていないという奇妙なエラーです。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue JS Intro</title>
</head>
<body>
<div id="demo">
<p>{{message}}</p>
<input v-model="message">
</div>
<script type="JavaScript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.18/vue.min.js"></script>
<script>
var demo = new Vue({
el: '#demo',
data: {
message: 'Hello Vue.js!'
}
})
</script>
</body>
</html>
ここで何が恋しかったですか?これは公式ウェブサイトからライブラリをダウンロードし、使用して同じ結果を得たため、CDNの問題ではありません。
index.html:15 Uncaught ReferenceError:Vueは定義されていません
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.18/vue.min.js"></script>
その後:
<script>
var demo = new Vue({
el: '#demo',
data: {
message: 'Hello Vue.js!'
}
});
</script>
type="JavaScript"
はtype="text/javascript"
(または、まったく何もありません)vue.jsスクリプトタグのtype="JavaScript"
をtype="text/javascript"
に修正するか、単に削除してください。最新のブラウザは、デフォルトとしてjavascriptとしてscriptタグを使用します。
私はこのエラーを受け取りましたが、jsファイルを含める方法のために未定義として
イニタリー
<script src="~/vue/blade-account-update-credit-card-vue.js" asp-append-version="true"></script>
<script src="~/lib/vue/vue_v2.5.16.js"></script>
.cshtmlページの最後にGOTエラーVue not Definedが、後で変更しました
<script src="~/lib/vue/vue_v2.5.16.js"></script>
<script src="~/vue/blade-account-update-credit-card-vue.js" asp-append-version="true"></script>
そして魔法のように働いた。だから、vue jsを.vueの上にロードする必要があると思います
次のようなimport
の場合に問題が発生する場合があります。
const Vue = window.vue;
これにより、元のVue
参照が上書きされる場合があります。
HEADタグ内のindex.htmlに以下のスクリプトを追加する必要がありました。
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
ただし、あなたの場合、index.htmlがないため、代わりにHEADタグに追加してください。
それは次のようなものです:
<!doctype html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
...
</body>
</html>
その実装には2つの主な問題が見つかりました。まず、_vue.js
_スクリプトをインポートするとき、_type="JavaScript"
_を_content-type
_として使用しますが、これは間違っています。デフォルトではtype
タグにはデフォルトの_text/javascript
_として_content-type
_があるため、このscript
パラメーターを削除する必要があります。または、type
パラメーターを_content-type
_である正しい_type="text/javascript"
_に置き換えるだけです。
2番目の問題は、スクリプトが同じHTMLファイルに埋め込まれているため、最初にトリガーされる可能性があり、おそらく_vue.js
_ファイルがまだロードされていないことです。これを修正するには、jQuery snippet $(function(){ /* ... */ });
を使用するか、この例に示すようにjavascript関数を追加します。
_// Verifies if the document is ready
function ready(f) {
/in/.test(document.readyState) ? setTimeout('ready(' + f + ')', 9) : f();
}
ready(function() {
var demo = new Vue({
el: '#demo',
data: {
message: 'Hello Vue.js!'
}
})
});
_
_<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="demo">
<p>{{message}}</p>
<input v-model="message">
</div>
_