vue学习笔记(一)

vue学习笔记(一)一、初使用vue1.在head中引入vue.js文件<script src=”./js/vue.js”></script>2.编写vue实例例子先通过原生js获取div并改变内容,两秒后改变值<div id=”app”> <!– {{content}} –> …

大家好,又见面了,我是你们的朋友全栈君。

一、初使用vue

1.在head中引入vue.js文件

<script src="./js/vue.js"></script>

2.编写vue实例例子

先通过原生js获取div并改变内容,两秒后改变值

<div id="app">
                <!-- {
  
  {content}}   -->
               你好
        </div>
        <script>
            //  js获取div并赋值
            var dom = document.getElementById('app');
            setTimeout(function() {
                dom.innerHTML = 'shenshenhsne'
            }, 2000);
       </script>

通过vue进行编写

<body>
        <div id="app">
                {
  
  {content}}  
        </div>
        <script>
            // 使用vue进行改变content内容
            var app = new Vue({
                    el:'#app', 
                    data:{
                        content:'Hello',
                    }
            });
            setTimeout(function() {
                app.$data.content = 'World';
            }, 2000);
        </script>
</body>

3、v-model和v-on的使用

<body>
        <div id="app">
                <!--  v-model 数据双向绑定 -->
                <input type="text"  v-model="inputvalue"/>
                <!--  v-on  绑定事件 -->
                <button v-on:click="handleBtnClick">提交</button>  
                <ul>
                    <li v-for="item  in list">
                        {
  
  {item}}
                    </li>
                </ul>               
        </div>
        <script>
            var app = new Vue({
                    el:'#app', 
                    data:{
                       list:[],
                       inputvalue:'',
                    },
                    methods:{
                        handleBtnClick:function(){
                            this.list.push(this.inputvalue);    //  当点击之后会把inputvalue中的值进行循环遍历出
                               this.inputvalue = '';
                            // alert(this.inputvalue);   //  获取到data中的inputvalue值
                        }
                    }
                })
        </script>
</body>

v-for:基于源数据多次渲染元素或模板块。 list指的是data数据中的list

v-on:绑定事件监听器。事件类型由参数指定。  当点击按钮时会调用methods中的handleBtnClick方法。

v-model:在表单控件或者组件上创建双向绑定。

注:M:相当于操作data数据

        V:div模板展示

       VM:vue就是VM层

      随着数据变化,页面跟着变化。 vue会监听到视图层改变然后改变数据,也会监听到数据变化改变视图层。

问:vue是怎么知道数据改变了,怎么知道该改变视图?

简答:vue源码中用到了es5中的Object.defineProperty,同时也引入了虚拟DOM机制,通过Object.defineProperty和虚拟DOM来进行实现VM层。

4、组件名称大小写问题:
(1)官方强烈推荐要遵循W3C规范的自定义组件名,即组件名称全部使用小写字母且用 – 连接
(2)组件名称可以使用驼峰命名法,但是在使用的时候必须大写转小写,且用 – 连接,例如:

vue学习笔记(一)

5、v-bind使用以及全局组件

动态地绑定一个或多个特性,或一个组件 prop 到表达式

<div id="app">
                <!--  v-model 数据双向绑定 -->
                <input type="text"  v-model="inputvalue"/>
                <!--  v-on  绑定事件 -->
                <button v-on:click="handleBtnClick">提交</button>  
                
                    <!-- 通过list循环出多少个组件,把循环出的值借助v-bind中的content传递过去 -->
                    <!-- 动态地绑定一个或多个特性,或一个组件 prop 到表达式 -->
                    <todo-item  v-bind:content="item" v-for="item  in list"></todo-item>
                </ul>               
        </div>
        <script>
            // 定义全局组件,直接在模板中使用
            // 使用父组件传递过来的数据,一定对content进行接收
            Vue.component("TodoItem",{
                props:['content'],
                template:"<li>{
  
  {content}}</li>"
            })
            var app = new Vue({
                    el:'#app', 
                    data:{
                       list:[],
                       inputvalue:'',
                    },
                    methods:{
                        handleBtnClick:function(){
                            this.list.push(this.inputvalue);    //  当点击之后会把inputvalue中的值进行循环遍历出
                               this.inputvalue = '';
                            // alert(this.inputvalue);   //  获取到data中的inputvalue值
                        }
                    }
                })
        </script>

6、局部组件(全局组件中部分代码)

<script>
            // 定义局部组件,必须进行注册(把TodoItem注册到vue实例中)
            var TodoItem = {
                props:['content'],
                template:"<li>{
  
  {content}}</li>"
            }
            //  注册组件为components
            var app = new Vue({
                    el:'#app', 
                    components: {
                        TodoItem:TodoItem
                    },
                    data:{
                       list:[],
                       inputvalue:'',
                    },
                    methods:{
                        handleBtnClick:function(){
                            this.list.push(this.inputvalue);    //  当点击之后会把inputvalue中的值进行循环遍历出
                               this.inputvalue = '';
                            // alert(this.inputvalue);   //  获取到data中的inputvalue值
                        }
                    }
                })
        </script>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147172.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux vim常用命令_linuxvi编辑器命令

    linux vim常用命令_linuxvi编辑器命令1.vi模式a)一般模式:vi处理文件时,一进入该文件,就是一般模式了.b)编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作。等按下‘i,I,o,O,a,A,r,R’等字母之后才能进入编辑模式.通常在linux中,按下上述字母时,左下方会出现’INSERT’或者‘REPLACE’字样,才可以输入任何文字到文件中.要回到一般模式,按下[ESC]键即可.c)命令行模…

    2022年9月22日
    4
  • 矩阵的计算[通俗易懂]

    矩阵的计算[通俗易懂]矩阵运算规则:矩阵与常量运算矩阵与向量运算矩阵与矩阵运算矩阵之间相乘,必须满足B矩阵列数等于A矩阵行数才能运算,矩阵与矩阵之间的计算可以拆分为矩阵与多个向量的计算再将结果组合,返回的结果为一个列数等于B矩阵、行数等于A矩阵的矩阵。矩阵加减矩阵加减必须满足矩阵之间纬度相同,返回的结果也会是一个相同纬度的矩阵。矩阵的乘法规律:不满足交换律,A×B≠B×A满足结合律,A×(B×C)=(A×B)×C满足分配率,A×(B+C)=A×B.

    2022年4月19日
    65
  • 数仓搭建——ODS层

    数仓搭建——ODS层数仓搭建 ODS 层用户行为数据和业务数据

    2025年7月7日
    3
  • Pycharm-用鼠标滚轮放大缩小字体大小[通俗易懂]

    Pycharm-用鼠标滚轮放大缩小字体大小[通俗易懂]1,pycharm字体放大设置:①,File—>setting—>Keymap—>在搜寻框中输入:increase—>IncreaseFontSize(双击)—>在弹出的对话框中选择AddMouseShortcut②,在弹出的对话框中按住ctrl键,鼠标滚轮向上滑动后点击OK。2,Pycharm字体缩小设置:①,File—>setting—>Keymap—>在搜寻框中输入:decrease—>DecreaseFontSize(双击)—>在弹出的对

    2025年7月6日
    2
  • 电脑黑屏只有鼠标箭头,任务管理器打不开,F8什么的都不管用「建议收藏」

    电脑黑屏只有鼠标箭头,任务管理器打不开,F8什么的都不管用「建议收藏」1.故障描述自从电脑装了虚拟机之后,明显感觉电脑变卡,吃饭的时候处于待机状态,回来就看见屏幕黑屏了,只剩一个鼠标箭头2.自己尝试过的方法1)ctrl+alt+del,没卵用,打不开任务管理器2)拔掉鼠标,键盘,电源线,还是不行,最多拔掉鼠标,箭头不见了而已,依然黑屏3)长按关机键,强行关机,没用,还是黑屏,重启时按F8没用,老子F…

    2022年6月18日
    114
  • JS后退一页, JS返回上一页, JS返回下一页代码[通俗易懂]

    JS后退一页, JS返回上一页, JS返回下一页代码[通俗易懂]Javascript返回上一页:1.history.go(-1),返回两个页面:history.go(-2);2.history.back().3.window.history.forward()返回下一页4.window.history.go(返回第几页,也可以使用访问过的URL)例:&lt;ahref="javascript:history.go(-1);"…

    2022年7月25日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号