element组件知识点总结

1:单选框与多选框的change事件,html代码

<div id="app">
    <div class="demo box">
            <h6>例子13</h6>
            <template>
              <el-checkbox v-model="checked" @change="ceshi2" label="备选项">备选项</el-checkbox>
            </template>
    </div>
     <div class="demo box">
            <h6>例子14</h6>
            <template>
                <el-radio-group v-model="radio2" @change="ceshi">
                    <el-radio :label="1">备选项</el-radio>
                    <el-radio :label="2">备选项</el-radio>
                </el-radio-group>
            </template>
    </div>
</div>

对应的js代码

methods:{
                ceshi(value){
                    console.log(value);
                },
                ceshi2(event){
                    console.log(event.target.checked);
                }
 }

 2:vue监听键盘事件

    <div class="demo">
            <input type="text" name="" v-on:keyup='submit'>
    </div>

js

methods:{
         submit:function(event){
                   alert(event.target.value);
          }
},

 3:组件

<div id="app">
    <div class="demo">
        <h6>例子13</h6>
        <div>
          <input v-model="parentMsg">
          <br>
          <!--child作为一个组件被js中的template替换-->
          <child v-bind:my-message="parentMsg"></child>
          <!--父组件通过props: ['myMessage']把父组件的值传递给子组件-->
          <!--,而js中template用来生成子组件-->
        </div>
        <div>{{parentMsg}}</div>
    </div>
</div>

对应的js

var vueInit = function() {
        Vue.component('child',{
            props: ['myMessage'],
            template: '<span style="color:red">{{myMessage}}你好</span>',
            /*data:function(){
                return {
                    parentMsg: 'Message from parent'
                }
            }*/
        });
        new Vue({
          el: '#app',
          data:{
            parentMsg: 'Message from parent'
          }
        })
    }

 

注册组件component时,data是用来渲染组件中的参数,用来渲染myMessage;而组件构造器中的data是用来渲染页面父节点参数,用来渲染页面中的{{parentMsg}};

 4:父子组件关系

Vue.component('child', {
  // 声明 props,告诉后面的template中的message是prop父子传递的参数
  props: ['message'],
  // message是来自于父组件
  template: '<span>{{ message }}</span>'
})

对应的html

<child message="hello!"></child>

标签<child>作为父组件,定义message(已经在js中定义为prop,用来传递参数);

posted @ 2017-03-21 10:04  小猪冒泡  阅读(1846)  评论(0编辑  收藏  举报