美文网首页前端
vue和html的比较

vue和html的比较

作者: 浮名虚誉架构师 | 来源:发表于2020-04-28 22:28 被阅读0次

文件类型的不同

文件分别是.html和.vue的格式

代码架构的不同

html中有一个html大节点,里面有script和style节点;

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="utf-8" />  
        <title></title>  
        <script type="text/javascript">  
        </script>  
        <style type="text/css">  
        </style>  
    </head>  
    <body>  

    </body>  
</html>

vue中template是一级节点,用于写tag组件,script和style是并列的一级节点

<template>  
    <view>  
    有且只能有一个根view。所有内容写在这个view下面。  
    </view>  
</template>  

<script>  
    export default {  

    }  
</script>  

<style>  

</style>

外部文件引用方式的不同

html中通过script src、link href引入外部的js和css;

<script src="js/jquery-1.10.2.js" type="text/javascript"></script>  
<link href="css/bootstrap.css" rel="stylesheet" type="text/css"/>

vue中import引入外部的js模块(注意不是文件)或css

<script>  
var util = require('../../../common/util.js');  //require这个js模块  
var formatedPlayTime = util.formatTime(playTime); //调用js模块的方法  
</script>

util文件

function formatTime(time) {  
    return time;
}  

module.exports = {  
    formatTime: formatTime  
}

其它引入方式

var dateUtils = require('../../../common/util.js').dateUtils; //直接使用js模块的属性
import * as echarts from '/components/echarts/echarts.simple.min.js'; //将js导入并重命名为echarts,然后使用echarts.来继续执行方法

css的文件导入

<style>  
    @import "./common/uni.css";  

    .my-text{  
        color:#7A7E83;  
    }  
</style>

组件全局导入

import pageHead from './components/page-head.vue' //导入  
Vue.component('page-head', pageHead) //注册。注册后在每个vue的page页面里可以直接使用<page-head></page-head>组件。

组件单独导入

<template>  
    <view>  
        <my-view text="abc" :inverted="true"></my-view><!--3.使用组件-->  
    </view>  
</template>  
<script>  
    import myView from "../../../components/uni-badge.vue";//1.导入组件  
    export default {  
        data() {  
            return {  

            }  
        },  
        components: {  
            myView //2.注册组件  
        }  
    }  
</script>

元素操作的不同

html中需要用js操作dom;

<html>  
    <head>  
        <script type="text/javascript">  
            document.addEventListener("DOMContentLoaded",function () {  
                document.getElementById("spana").innerText="456"  
            })  
            function changetextvalue () {  
                document.getElementById("spana").innerText="789"  
            }  
        </script>  
    </head>  
    <body>  
        <span id="spana">123</span>  
        <button type="button" onclick="changetextvalue()">修改为789</button>  
    </body>  
</html>  

vue采用mvvm模式,大幅减少代码行数,同时差量渲染性能更好

<template>  
    <view>  
        <text>{{textvalue}}</text><!-- 这里演示了组件值的绑定 -->  
        <button :type="buttontype" @click="changetextvalue()">修改为789</button><!-- 这里演示了属性和事件的绑定 -->  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                textvalue:"123",  
                buttontype:"primary"  
            };  
        },  
        onLoad() {  
            this.textvalue="456"//123都来不及显示就变成了456  
        },  
        methods: {  
            changetextvalue() {  
                this.textvalue="789"//页面自动刷新为789  
            }  
        }  
    }  
</script>

相关文章

网友评论

    本文标题:vue和html的比较

    本文链接:https://www.haomeiwen.com/subject/zxmiwhtx.html