vue學習之一


搞懂一個東西,最好的方式是學習它的使用,准守它的規則,那么

它的才能更好了解到它的內部建構。

vue據說包含react+angular的的優點。

vue到底是什么?
一個mvvm框架(庫)、和angular類似
比較容易上手、小巧
mvc:
  mvp
  mvvm
  mv*
  mvx
官網:http://cn.vuejs.org/
手冊: http://cn.vuejs.org/api/

vue和angular區別?
vue——簡單、易學
指令以 v-xxx
一片html代碼配合上json,在new出來vue實例
個人維護項目

適合: 移動端項目,小巧

vue的發展勢頭很猛,github上start數量已經超越angular
angular——上手難
指令以 ng-xxx
所有屬性和方法都掛到$scope身上
angular由google維護

合適: pc端項目

共同點: 不兼容低版本IE

例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <title>Document</title>
    <link rel="stylesheet" href="./lib/bootstrap.min.css">
    <script src="./lib/jquery-1.7.2.js"></script>
    <script src="./lib/bootstrap.js"></script>
    <script src="./lib/vue.js"></script>
    <script>
    /*有些方法在vue里,是和它內部的方法衝突的,例如delete,alert,所在標籤里無法使用的,不過在js還是可以使用的
        既然使用vue那麼就準守它的規則
    */
    window.onload=function(){
        var vue=new Vue({
            el:"#tblPage",
            data:{
                myData:[{username:"中國人",age:24},{username:"cliOu",age:20}],
                username:"",
                age:"",
                currentIndex:-1
            },
            methods:{
                add:function(){
                    this.myData.push({username:this.username,age:this.age});
                    this.username="";
                    this.age="";
                },
                deleteTbl:function(index){
                    if(index<0){
                        this.myData=[];
                    }else{
                        this.myData.splice(index,1);
                    }
                }
            }
        });
    }
    </script>
</head>
<body>
    <div class="container" id="tblPage">
        <form role="form">
            <div class="form-group">
                <label for="username">用戶名:</label>
                <input type="text" class="form-control" id="username" placeholder="請輸入" v-model="username">
            </div>
            <div class="form-group">
                <label for="age">年 齡:</label>
                <input type="text" class="form-control" id="age" placeholder="請輸入" v-model="age">
            </div>
            <div class="form-group text-right">
                <button type="button" class="btn btn-sm btn-primary" v-on:click="add()">添加</button>
                <button type="reset" class="btn btn-sm btn-danger">重置</button>
            </div>
        </form>
        <table class="table table-bordered table-hover">
            <caption class="h4 text-info">用戶表信息</caption>
            <tr>
                <th>序號</th>
                <th>名稱</th>
                <th>年齡</th>
                <th>操作</th>
            </tr>
            <tr v-for="(item,index) in myData">
                <td>{{index+1}}</td>
                <td>{{item.username}}</td>
                <td>{{item.age}}</td>
                <td>
                    <button type="button" class="btn btn-xs btn-danger" v-on:click="currentIndex=index" data-toggle="modal" data-target="#layer">刪除</button>
                </td>
            </tr>
            <tr v-show="myData.length>0">
                <td colspan="4" class="text-right">
                    <button type="button" class="btn btn-xs btn-danger" v-on:click="currentIndex=-1" data-toggle="modal" data-target="#layer">刪除全部</button>
                </td>
            </tr>
            <tr v-show="myData.length==0">
                <td colspan="4" class="text-center text-muted">
                    無數據...
                </td>
            </tr>
        </table>
        <!-- 模態框 -->
        <div role="dialog" class="modal fade" id="layer">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="btn btn-danger" class="close" data-dismiss="modal">
                            <span>&times;</span>
                        </button>
                        <h4 class="modal-title" v-show="currentIndex!=-1">你是否要刪除!</h4>
                        <h4 class="modal-title" v-show="currentIndex==-1">你是否要刪除全部!</h4>
                    </div>
                    <div class="modal-body text-right">
                        <button type="button" class="btn btn-sm btn-primary" data-dismiss="modal">取消</button>
                        <button type="button" class="btn btn-sm btn-danger" data-dismiss="modal" v-on:click="deleteTbl(currentIndex)">確認</button>
                    </div>
                </div>                
            </div>
        </div>
    </div>
</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM