1. 程式人生 > >使用Jquery與vuejs操作dom比較

使用Jquery與vuejs操作dom比較

jquery實現新增功能

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>aaa</title>
        <script src="//cdn.bootcss.com/jquery/3.1.0/jquery.min.js"></script>
        <script>
            $(document).ready(function() {
                var
textbda = $("#textbd").val(); $("#btn1").click(function() { $("ol").append("<li>"+textbda+"</li>"); }); });
</script> </head> <body> <ol> <li>新增專案 1</li> </ol
>
<input id="textbd" type="text" value="aaaa" /> <button id="btn1">新增</button> </body> </html>

vue.js(v1.0)實現新增功能

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8" />
        <title>bbb</title>
        <script
src="https://npmcdn.com/vue/dist/vue.js">
</script> </head> <body> <div id="app"> <input v-model="newTodo"> <button v-on:click="addTodo">新增</button> <ul> <li v-for="todo in todos"> <span>
{{ todo.text }}</span> </li> </ul> </div> <script> new Vue({ el: '#app', data: { newTodo: '', todos: [{ text: '新增專案 1' }] }, methods: { addTodo: function() { var text = this.newTodo.trim() if(text) { this.todos.push({ text: text }) this.newTodo = '' } } } }) </script> </body> </html>

共同點:jquery與vue.js(vue.js是一個用來開發 web 介面的前端庫。)都是js庫,不是框架。

不同點:從程式碼量看,jquery的程式碼比較少,vuejs的程式碼比較多。

從程式碼原理看,jquery操作的是直接dom元素。而vue.js操作的是dom元素物件。

vue.js優勢是(檢視-模型)雙向繫結,簡化了dom的操作(不用重寫大量的html標籤),提高dom的複用率(以最少程式碼實現更多的功能),傾向於資料讀寫,雖然看上去使用比較繁瑣,但是利於後期的維護。

jquery優勢是jquery語義化,容易理解,比較簡單,可拓展的外掛多。

總結:如果dom操作頻繁,不需要動畫效果,就使用vue.js。如果dom操作不頻繁,但又需要複雜的動畫效果,就使用jquery。

vue.js比較適合於後臺管理頁面,jquery比較適合於前臺使用者互動頁面。