javascript - Vue.js,路由器导入模板vue文件
问题描述
大家好,我有一个简单的 Vue.js 项目,我正在尝试将一个 vue 模板文件导入我的 index.html 文件,而不使用 webpack 或 browserify 之类的 cli 工具。
据我了解,我需要使用称为路由器的东西才能做到这一点并在我的项目中导入一些额外的 JS。
<script src="https://unpkg.com/http-vue-loader"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
在我的 index.html 脚本标签中,我正在创建一个新对象,它引用我想要包含的导航组件。
var Settings = httpVueLoader('Navigation.vue') ,
router = new VueRouter({
routes:[
{ path:'/navigation', component: Navigation }
]
});
我希望能够只使用<navigation></navigation>
index.html 文件中的标签来获取 Navigation.vue 文件中的任何代码。
我在这里的项目中有一个 codepen:https ://codepen.io/fennefoss/project/editor/ZerEod#
解决方案
我认为您需要导出 Navigation.vue ,顺便说一下您的样式标签和脚本标签放在模板之外,就像这样
导航.vue:
<template id="navigation">
<p>Click on the Menu Icon to transform it to "X":</p>
<div class="container" onclick="myFunction(this)">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
</div>
</template>
<style>
.container {
display: inline-block;
cursor: pointer;
}
.bar1, .bar2, .bar3 {
width: 35px;
height: 5px;
background-color: #333;
margin: 6px 0;
transition: 0.4s;
}
.change .bar1 {
-webkit-transform: rotate(-45deg) translate(-9px, 6px);
transform: rotate(-45deg) translate(-9px, 6px);
}
.change .bar2 {
opacity: 0;
}
.change .bar3 {
-webkit-transform: rotate(45deg) translate(-8px, -8px);
transform: rotate(45deg) translate(-8px, -8px);
}
</style>
<script>
module.exports = {
data: function () {
return {};
},
mounted: function () {
function myFunction(x) {
x.classList.toggle("change");
}
}
};
</script>
推荐阅读
- firebase - 如何解决 W/NetworkRequest: No App Check token for request?
- c# - 如何查看 System.Linq 源代码
- mysql - MySQL创建表:错误1005 errno:150“外键约束形成错误”
- r - 减少/删除 R 可反应表中 htmlwidget ggplotly 对象的填充
- swiftui - 将数组传递给另一个视图 SwiftUI
- flutter - 错误:不能在“FormState”上调用方法“保存”?因为它可能为空
- java - 方法不能被超类替换
- r - 自变量在回归摘要中出现两次?
- extentreports - ExtentReport.core 包安装失败,Visual Studio C# 项目
- kotlin - Kotlin 中的连续子数组求和