zoukankan      html  css  js  c++  java
  • Vue.js 教程

    1.vue.js主题结构如下:

    <!--Create by syd on 2018/9/4 17:07.-->
    <html len="en">
    <header>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="/src/css/main.css">
        <title>Vue之入门HelloWorld</title>
        <!--引入Vue库-->
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <style type="text/stylesheet">
            [v-cloak] {
                display: none;
            }
        </style>
    </header>
    <body> 
        <div id="app"> 
            <p>{{ message }}</p> 
        </div> <script> 
        new Vue({ 
             el: '#app', 
             data: { message: 'Hello World!' }
        })
    </script>
    </body>
    </html>

    2.文本数据绑定

    <div id="app">
        <p>{{ message }}</p>
    </div>
    
    <script>
    new Vue({
      el: '#app',
      data: {
        message: 'Hello World!'
      }
    })
    </script>

    3.输出html文本----- v-bind:id  v-bind:class v-bind:title

    <div id="app">
        <h2 v-bind:id="vid" :class="vclass" :title="vtitle">vue 多属性绑定</h2>
    </div>
        
    <script>
    new Vue({
        el: "#app",
        data: {
            vid:"myid",
            vclass: "myclass",
            vtitle:"vue 多属性绑定"
        }
    })

    4.vue.js计算属性

    <!-- vue.js计算属性 -->
    <div id="app">
    a={{ a }}, b={{ b }}
    </div>
    <script>
    new Vue({
        el: '#app',
        data: {
            a: 1
        },
    // 计算属性

    computed: { b() { return this.a + 1 } } }) </script>

     setter && getter方法

    <div id="app">{{message}}</div>
    <script>
    var vm = new Vue({
        el: '#app',
        data: {
            title: 'my first lesson'
        },
        computed: {
            message: {
                // getter
                get: function () {
                    return this.title
                },
                // setter
                set: function (newValue) {
                    this.title = newValue
                }
            }
        }
    })
    vm.message = 'my second lesson';
    </script>

    Ps:完整基础知识

    <!--Create by syd on 2018/9/4 17:07.-->
    <html len="en">
    <header>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="/src/css/main.css">
        <title>Vue之入门HelloWorld</title>
        <!--引入Vue库-->
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <style type="text/stylesheet">
            [v-cloak] {
                display: none;
            }
        </style>
    </header>
    <body>
       <!--创建一个div-->
       <div id="app">
           <!-- Vue数据绑定 v-text取值 -->
           <!-- vue.js语法模板 -->
           <p v-text="message"></p>
           <!-- 输出HTML文件--html文件绑定属性 -->
           <h2 :class="htmlMessage">v-bind:进行属性绑定</h2>
           <!-- vue.js多属性绑定 -->
           <h2 :id="vid" :class="vClass" :title="vTitle">vue多属性绑定</h2>
    
           <!-- vue.js计算属性 -->
           <div>
               a = {{a}},b = {{b}}
           </div>
    
           <div v-if="isLogin">你好</div>
           <div v-else>请登录后再操作</div>
           <div v-show="isLogin">你好</div>
           <div v-if="type === 'A'">A</div>
           <div v-else-if="type === 'B'">B</div>
           <div v-else-if="type === 'C'">C</div>
           <div v-else>Not A/B/C</div>
           <div class="ui-li">
               <ul>
                   <li v-for="item in items"><h5 v-text="item"></h5></li>
               </ul>
           </div>
           <div>
               <ul>
                   <li v-for="(value,key,index) in object">{{index}}.{{key}}.{{value}}</li>
               </ul>
           </div>
           <div>本场得分:{{count}}</div>
           <button @click="add">加分</button>
           <!-- v-model 初始化-->
           <div>
               <input type="text" v-model="message"><br>
               <textarea cols="30" rows="10" v-model="message"></textarea>
               <input type="checkbox" :id="first" value="1" v-model="status">
               <label for="first">有效</label>
               <input type="checkbox" :id="second" value="2" v-model="status">
               <label for="second">无效</label>
               <div>状态:{{status}}</div>
           </div>
           <div>
               <input type="radio" id="one" value="男" v-model="sex">
               <label for="one"></label>
               <input type="radio" id="two" value="女" v-model="sex">
               <label for="two"></label>
               <div>性别:{{sex}}</div>
           </div>
           <div>
               <select v-model="selected">
                   <option disabled value="">请选择</option>
                   <option v-for="item in choice">{{item}}</option>
               </select>
               <div>Selected: {{selected}}</div>
           </div>
           <!-- 动态赋值 -->
           <div>
               <img :src="imgSrc" width="200px">
           </div>
           <!-- 输出原始值 -->
           <div v-pre>{{message}}</div>
           <div v-cloak>{{message}}</div>
           <div v-once>第一次绑定的值:{{message}}</div>
       </div>
    
       <!-- JS -->
       <script type="text/javascript">
           var app = new Vue({ // 创建Vue对象
               el: '#app', // #app是id选择器,把当前Vue挂载到div上
               data (){  // Vue中绑定的数据
                   return {
                       message: 'hello Vue!',
                       htmlMessage: "content",
                       vid:"myId",
                       vClass:"myClass",
                       vTitle:"vue 多属性",
                       isLogin: true,
                       type: 'A',
                       items: [20,23,18,65],
                       object: {firstName:'john',lastName:'Doe'},
                       count: 1,
                       status: [],
                       sex: '',
                       selected: '',
                       choice: ['A','B','C','D','E'],
                       imgSrc:'http://liangxinghua.com/uploads/image/20180709/1531106987.png',
                       price: '3',
                       a: 1,
    
                   }
               },
               beforeCreate: function () {
                   console.group('beforeCreate 创建前状态===============》');
                   console.log("%c%s", "color:red" , "el      : " + this.$el); //undefined
                   console.log("%c%s", "color:red","data    : " + this.$data); //undefined
                   console.log("%c%s", "color:red","message: " + this.message)
               },
               created: function () {
                   console.group('created 创建完毕状态===============》');
                   console.log("%c%s", "color:red","el      : " + this.$el); //undefined
                   console.log("%c%s", "color:red","data    : " + this.$data); //已被初始化
                   console.log("%c%s", "color:red","message: " + this.message); //已被初始化
               },
               beforeMount: function () {
                   console.group('beforeMount 挂载前状态===============》');
                   console.log("%c%s", "color:red","el      : " + (this.$el)); //已被初始化
                   console.log(this.$el);
                   console.log("%c%s", "color:red","data    : " + this.$data); //已被初始化
                   console.log("%c%s", "color:red","message: " + this.message); //已被初始化
               },
               mounted: function () {
                   console.group('mounted 挂载结束状态===============》');
                   console.log("%c%s", "color:red","el      : " + this.$el); //已被初始化
                   console.log(this.$el);
                   console.log("%c%s", "color:red","data    : " + this.$data); //已被初始化
                   console.log("%c%s", "color:red","message: " + this.message); //已被初始化
               },
               beforeUpdate: function () {
                   console.group('beforeUpdate 更新前状态===============》');
                   console.log("%c%s", "color:red","el      : " + this.$el);
                   console.log(this.$el);
                   console.log("%c%s", "color:red","data    : " + this.$data);
                   console.log("%c%s", "color:red","message: " + this.message);
               },
               updated: function () {
                   console.group('updated 更新完成状态===============》');
                   console.log("%c%s", "color:red","el      : " + this.$el);
                   console.log(this.$el);
                   console.log("%c%s", "color:red","data    : " + this.$data);
                   console.log("%c%s", "color:red","message: " + this.message);
               },
               beforeDestroy: function () {
                   console.group('beforeDestroy 销毁前状态===============》');
                   console.log("%c%s", "color:red","el      : " + this.$el);
                   console.log(this.$el);
                   console.log("%c%s", "color:red","data    : " + this.$data);
                   console.log("%c%s", "color:red","message: " + this.message);
               },
               destroyed: function () {
                   console.group('destroyed 销毁完成状态===============》');
                   console.log("%c%s", "color:red","el      : " + this.$el);
                   console.log(this.$el);
                   console.log("%c%s", "color:red","data    : " + this.$data);
                   console.log("%c%s", "color:red","message: " + this.message)
               },
               // 计算属性
               computed: {
                   newPrice(){
                       return '' + this.price + ''
                   },
                   b(){
                       return this.a + 1;
                   }
               },
               // 事件绑定方法
               methods: {
                   add(){
                       this.count++;
                   },
                   add(num){
                       this.count++;
                   }
               },
               // 观察者
               watch:{
                   question(val,oldVal){
                       console.log('new:%s,old:%s',val,oldVal);
                   }
               },
               // 过滤器
               filters:{
                   filterA(value){
                       return value.toUpperCase();
                   }
               }
    
           })
       </script>
    
    </body>
    </html>
  • 相关阅读:
    mysql分表和表分区详解
    CNN 文本分类
    基于深度学习的目标检测研究进展
    标注工具
    在Ubuntu登陆界面输入密码之后,黑屏一闪后,又跳转到登录界面
    R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD系列深度学习检测方法梳理
    LeNet,AlexNet,GoogleLeNet,VggNet等网络对比
    nginx使用与配置入门指南
    CentOS 7上重新编译安装nginx
    酸汤肉沫豆腐
  • 原文地址:https://www.cnblogs.com/edensyd/p/9838733.html
Copyright © 2011-2022 走看看