学习vue

一,声明模板的时候需要新建示例

如下代码

<div id="app">
      <my></my>
</div>
 Vue.component("my",{
      template:"<p>name</p>",
 });

这样写没有结果

js代码修改为

 Vue.component("my",{
      template:"<p>name</p>",
  });
 var app=new Vue({
      el:"#app"
  });

这样才行

另外注意,new Vue写在下面

二、定义模板的时候不能使用小写加大写

如,下列代码出错

    Vue.component("myComponent",{
        template:"<p>name</p>",
    });
    var app=new Vue({
        el:"#app"
    });

需要改为 my成component

补充:v-on事件也不能用大写(⊙﹏⊙)b

三、传递数据的时候的正确写法

 var data={name:"meng"};
    Vue.component("my",{
        template:"<p>{{name}}</p>",
        data:function () {
            return data;
        }
    });
    var app=new Vue({
        el:"#app"
    });

 如果是局部组件

    var app4Data = {name: "meng"};
    var app4Component = {
        template: "<p>{{name}}</p>",
        data:function () {
            return app4Data
        }
    };
    new Vue({
        el: "#app-4",
        components:{
            'app4-component':app4Component
        }
    });

注意data的位置,不是在new Vue里面。。

如果是绑定的数据

<div id="app-5">
    <input type="text" v-model="msg">
    <app5-component :message="msg"></app5-component>
</div>
    var app5Data={msg:"meng"};
    var app5Component={
        props: ["message"],
        template: "<p>{{message}}</p>"
    };
    new Vue({
        el: "#app-5",
        components:{
            'app5-component':app5Component
        },
        data:function () {
            return app5Data
        }
    });

这里记下鄙见,单说局部组件,单纯的数据显示的时候,只能调用自身的数据,所以数据写在组件的里面。而数据绑定的时候,数据由于是绑定才得到的,绑定到哪了呢?回答当然是新对象里面,所以数据就存放到新对象里面去了(new Vue)

message和v-bind:message(:message)的区别

  官网这样说到,

我理解呢是这样的,

  message只是单纯的数据传递,给什么是什么。

  :message绑定数据可以修改,给什么得看人家怎么处理这个后在接受这个。

四、定义模板的时候只能有一个父组件

错误代码:

var app8Component = {
        props: ['content'],
        template: "<p>name:{{content.name}}</p><span>age:{{content.age}}</span>"
    };

页面只显示name

正确代码:

var app8Component = {
        props: ['content'],
        template: "<div><p>name:{{content.name}}</p><span>age:{{content.age}}</span></div>"
    };
原文地址:https://www.cnblogs.com/chenluomenggongzi/p/6139065.html