Vue学习:el 与data的两种写法

el两种写法

法一:建立了联系

	<!-- 准备容器 -->
	<div id="root">
		<h1>hello,{{name}} </h1> <!--  {{插值语法}}	 -->
	</div>
	
	<script>
        new Vue({ 
            el: '#root',
            data: {
                name:'Amy'
            },
        });

	</script>

法二:取消连接 使用 v.$mount('#root');

    <!-- 准备容器 -->
    <div id="root">
        <h1>hello,{{name}} </h1> <!--  {{插值语法}}	 -->
    </div>

    <script>
        //接收实例
        const v = new Vue({
            // el: '#root',
            data: {
                name: 'Amy'
            },
        });
        console.log(v)

带$符号的是给我们使用的

没有带$是底层的

 分析:原型和原型链(堆控件和栈空间 所以可以去实例对象上的隐式原型链上找)

     v.$mount指定容器

 

    <!-- 准备容器 -->
    <div id="root">
        <h1>hello,{{name}} </h1> <!--  {{插值语法}}	 -->
    </div>

    <script>
        //接收实例
        const v = new Vue({
            // el: '#root',
            data: {
                name: 'Amy'
            },
        });
       console.log(v);
       v.$mount('#root');


    </script>

这种方式更加灵活:比如在定时器中 3s进行关联

    <!-- 准备容器 -->
    <div id="root">
        <h1>hello,{{name}} </h1> <!--  {{插值语法}}	 -->
    </div>

    <script>
        //接收实例
        const v = new Vue({
            // el: '#root',
            data: {
                name: 'Amy'
            },
        });
       console.log(v);
       setTimeout(()=>{
        v.$mount('#root');
       },3000)
      


    </script>

mount 挂载到页面指定位置,容器 、实例 ,将容器中的模板给实例进行解析,解析的内容重新挂载到页面的位置

data:两种写法

法一:写成对象

    const v = new Vue({
            // el: '#root',
            data: {
                name: 'Amy'
            },
        });

法二:函数式:返回值是我们需要的内容

        //接收实例
        const v = new Vue({
            // el: '#root',
            // data: {
            //     name: 'Amy'
            // },
            data:function(){
                return{
                    //必须返回对象
                    name: 'Amy'
                }
            }
        });

用到组件的时,要使用函数式  

data属性成了一个函数,函数是Vue帮我们调用的:这里面的this是Vue实例对象,使用的是普通函数,如果写箭头函数 this是全局的window,因为箭头函数没有自己的this得往外面找

        //接收实例
        const v = new Vue({
            // el: '#root',
            // data: {
            //     name: 'Amy'
            // },
            data:function(){
                console.log(this)
                return{
                    //必须返回对象
                    name: 'Amy'
                }
            }
        });

 简化:

     data(){
                console.log(this)
                return{
                    //必须返回对象
                    name: 'Amy'
                }
            }

el的两种写法:直接配置、使用v.$mount()指定

data的两种写法:对象式、函数式

组件的时候必须用函数式 否则报错


vue管理的函数  千万不要写成箭头函数,一旦写箭头函数,this就不是vue实例了

目前Vue管理的函数有data

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值