在使用vue开发时,vue的数据绑定和数据处理方面用的很爽,但是在UI框架方面的东西就少了很多了。其实Vue的ui框架也挺多的,比如element,iview等基于vue的UI框架,对于其他的传统UI框架来说,其中的js组件就少了很多了。对于初学者来说还是使用UI框架来开发速度比较快点,还有些滚动监听、页面动画效果等在Vue中比较麻烦的,要熟悉Vue的生命周期,只能在DOM渲染加载出来后才能操作。
最近写一个企业官网,使用Vue来写,这的后端比较喜欢我们用vue之类的开发,他们只要写API接口就行了。刚开始搭建webpack开发,但是写出一个首页后发现打包后的文件太大了,5M多,放在服务器上加载太慢,而且就一个企业网站,页面也不多。用vue有点浪费,臃肿,想了一个方法,就是不用webpack搭建环境,直接引入<script>,和使用jQuery一样引入。这样就可以使用amazeUI之类的框架写了,也可以使用各种插件。这种方法的缺点就是不能组件单文件引入,每个页面的组件都要写在当前页面中,不过这个项目的页面不多,可以这样使用。
1、首先下载好需要的amazeUI、jQuery、Vue.js等文件;
2、和平常一样,建一个index.html文件,将上面那些文件引入进去;
1. <link rel="stylesheet" type="text/css" href="./css/amazeui.min.css">
1. <script type="text/javascript" src="./js/vue.min.js"></script>
2. <script type="text/javascript" src="./js/jquery.min.js"></script>
3. <script type="text/javascript" src="./js/amazeui.min.js"></script>
3、然后在body中建一个<div id="app"></div>
4、下面看代码:
**HTML**
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <title>Vue + amazeUI</title>
5. <link rel="stylesheet" type="text/css" href="./css/amazeui.min.css">
6. </head>
7. <body>
8. <div id="app">
9. <!-- 头部组件 -->
10. <va-header></va-header>
11.
12. <!-- 正常无组件 -->
13. <div>这里可以正常使用amazeUI等框架</div>
14. <div>这里也可以使用Vue的数据绑定等</div>
15. <ul v-if="isShow">
16. <li v-for="item in items" :key="item.id">{{item.name}}</li>
17. </ul>
18. <!-- 底部组件 -->
19. <va-footer></va-footer>
20. </div>
21.
22. <!-- 定义组件 -->
23.
24. <!-- 头部组件 -->
25. <template id="va-header">
26. <header>
27. <div><img src="logo.png" alt=""></div>
28. <ul>
29. <li>首页</li>
30. <li>新闻动态</li>
31. <li>企业文化</li>
32. <li>全部产品</li>
33. <li>关于我们</li>
34. </ul>
35. </header>
36. </template>
37.
38. <!-- 底部组件 -->
39. <template id="va-footer">
40. <footer>
41. <p>@2017 黄良钵博客 版权所有<span>琼ICP备14000033号</span></p>
42. </footer>
43. </template>
44.
45. <script type="text/javascript" src="./js/vue.min.js"></script>
46. <script type="text/javascript" src="./js/jquery.min.js"></script>
47. <script type="text/javascript" src="./js/amazeui.min.js"></script>
48. </body>
49. </html>
**JS**
1. // 注册组件
2. Vue.component('va-header', {
3. template: '#va-header'
4. })
5. Vue.component('va-footer', {
6. template: '#va-footer'
7. })
8.
9. // 创建一个新的 Vue 实例
10. var app = new Vue({
11. el: '#app',
12. data: {
13. isShow:true,
14. items:[
15. {
16. id:1,
17. name:'第一项',
18. },
19. {
20. id:2,
21. name:'第二项',
22. },
23. {
24. id:3,
25. name:'第三项',
26. },
27. {
28. id:4,
29. name:'第四项',
30. },
31. ],
32. },
33. // 这里可以和webpack中的Vue一样写js
34. created(){
35.
36. },
37. methods(){
38.
39. },
40. })
由于页面不多,也就不使用路由了,可以少加载一个vue-router.js文件。