• 01 vue语法基础


    系列文章导航

    01 Vue语法基础

    02 vue数据绑定与指令

    03 vue组件技术

    04 vue单文件组件定义与使用


    1 代码实例

    vue实例创建,实例数据,实例方法,计算属性,侦听器,模板语法

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <script src="vue.js" type="text/javascript" charset="utf-8"></script>
        </head>
        <body>
            <div id="app">
                <div>变量插值:{{name}}</div>
                <div>方法插值:{{say()}}</div>
                <div>计算属性:{{totalPrice}}</div>
            </div>
    
            <script type="text/javascript">
                // 创建vue实例
                // el:设定挂载的元素
                // data:vue实例包含数据
                // method:vue实例包含的方法
                // vue的生成周期函数
                // computed 计算属性,提供缓存功能,当变量值变化的时候才需要重新运算结果
                var app = new Vue({
                    // 挂载元素 - 作用范围
                    el: '#app',
                    // vue数据
                    data: {
                        name: "Vue学习指南",
                        price: 200,
                        discount: 0.8
                    },
                    // vue方法
                    methods: {
                        say: function() {
                            return '方法返回结果' + this.name;
                        }
                    },
                    // 生命周期钩子函数
                    created: function() {
                        console.info("vue创建,适合用来获取网络数据")
                    },
                    mounted: function() {
                        console.info("元素挂载结束后执行")
                    },
                    // 计算属性
                    computed: {
                        totalPrice: function() {
                            return this.price * this.discount;
                        }
                    },
                    // vue实例内可以使用的组件
                    components: {
    
                    },
                    // 检测器
                    watch: {
                        // 当price变更时执行如下的方法
                        price: function() {
                            console.info("price变更了");
                        },
                        // 当discount变更时执行如下的方法
                        discount: function() {
                            console.info("discount变更了");
                        }
                    }
                });
            </script>
    
        </body>
    </html>

    2 计算属性

    计算属性是对Vue方法的扩展,计算属性提供了缓存功能,只有当使用的变量发生变化时才会重新执行代码,适合于耗时比较长的逻辑代码。

    计算属性分单向和双向,单向计算属性类似1.1的代码风格。

    双向的写法如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <script src="vue.js" type="text/javascript" charset="utf-8"></script>
        </head>
        <body>
            <div id="app">
                <div>变量插值:{{firstName+'-'+lastName}}</div>
                <div>计算属性:{{fullName}}</div>
            </div>
            <script type="text/javascript">
                // 创建vue实例
                // el:设定挂载的元素
                // data:vue实例包含数据
                // method:vue实例包含的方法
                // vue的生成周期函数
                // computed 计算属性,提供缓存功能,当变量值变化的时候才需要重新运算结果
                var app = new Vue({
                    // 挂载元素 - 作用范围
                    el: '#app',
                    // vue数据
                    data: {
                        firstName:'Foo',
                        lastName:'Bar'
                    },
                    // 计算属性
                    computed: {
                        fullName:{
                            get:function(){
                                return this.firstName+'-'+ this.lastName;
                            },
                            set:function(newValue){
                                var names = newValue.split('-');
                                this.firstName = names[0];
                                this.lastName = names[1];
                            }
                        }
                    }
                });
            </script>
        </body>
    </html>

    3 生命周期

    create阶段通过ajax获取网络数据,并绑定给data数据向。

    mounted阶段Dom节点的获取与处理。

    4 过滤器

    Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:

    <!-- 在双花括号中 -->
    {{ message | capitalize }}
    
    <!-- 在 `v-bind` 中 -->
    <div v-bind:id="rawId | formatId"></div>

    过滤器实例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <script src="vue.js" type="text/javascript" charset="utf-8"></script>
        </head>
        <body>
            <div id="app">
                <!-- 使用过滤器 -->
                {{pValue | capitalize}}
            </div>
            <script type="text/javascript">
                var app = new Vue({
                    // 挂载元素 - 作用范围
                    el: '#app',
                    data: {
                        // 外部组件的变量
                        pValue: "filter study",
                        cname: "begin"
                    },
                    filters: {
                        // 首字母转大写
                        capitalize: function(value) {
                            if (!value) return ''
                            value = value.toString()
                            return value.charAt(0).toUpperCase() + value.slice(1)
                        }
                    },
                    created: function() {}
                });
            </script>
        </body>
    </html>
  • 相关阅读:
    Ajax学习总结
    从零开始学Docker
    IBM Websphere MQ常用命令及常见错误
    Log4j学习总结
    Eclipse中各图标含义
    类加载机制与反射
    Feign【入门】
    Eureka【故障演练分析】
    Eureka【启用https】
    Eureka【开启http basic权限认证】
  • 原文地址:https://www.cnblogs.com/feihusurfer/p/12142052.html
Copyright © 2020-2023  润新知