从零学起vue(学习笔记2)

一、指令与模板


指令:当表达式的值改变是相应的将其某些行为应用到DOM上


  1. v-bind 动态指令,简写为 :
  2. v-on 绑定事件监听器,简写为 @
  3. v-text 更新数据,覆盖已有结构
  4. v-html 可以解析数据中的HTML结构,更新innerHTML(内容按照普通HTML插入-不会作为vue模板进行编译),配合v-html组合模板使用,很危险尽量不用
  5. v-show 根据值的真假,切换元素的display cssCSS属性
  6. v-if  根据值得真假切换元素会被销毁,重建
  7. v-else-if  多条件判断为真则渲染
  8. v-else 条件都不符合渲染
  9. v-for  基于源数据多次渲染元素或模板块
  10. v-modle 在表单控件元素上创建双向数据绑定
  11. v-pre  跳过元素和子元素的编译过程
  12. v-once 之渲染一次,随后数据更新不重复渲染
  13. v-cloak 隐藏为编译的Mustache语法,css中设置【v-closk]{display:none}


二、HTML模板(写死的)

插值:

1、文本:

数据绑定最常见的形式是就是使用"Mustadhe"语法(双大括号)的文本插值;(替换实例上的属性值,当值改变时,插值内容处会自动更新)

2、原生HTML:

双大括号将数据解释为纯文本,非HTML,需要使用v-html指令才可解析成Html文本(危险,尽量不要用

3、属性:

使用v-bind指令进行绑定,可以响应变化

4、使用javascript表达式:

写简单表达式{{1+2}}、{{true?'yes':'no'}}、{{message.split('').reverse().join('')}}

参数:

在指令后用冒号指明


三、字符串模板(动态拼接的)

template字符串(替换挂载点的原本模板)

在选项对象中添加一个template属性

方法1、template:字符串**(ES6中字符串拼接"``"可换行)

方法2、<script type="x-template" id="temp">把html做成片段</script>

(template:"#temp")(方法二不能跨文件使用)

四、模板-render函数(手动创建模板)(接近DOM)

1、在选择对象中添加render函数,参数为createElement,即可写入要生成的标签

2、语法:

render 选项对象的属性

createElement(标签名,[数据对象],子元素);


3、数据对象属性:

class:{},  //绑定class,和v-bind:class一样的API

style:{},  //绑定样式,和v-bind:class一样的API

attrs:{},  //添加行间属性

domProps:{},  //DOM元素属性

on:{},   //绑定事件

nativeOn:{},   //监听原生事件

directives:{},  //自定义指令

scopedSlots:{},  //slot作用域

slot:{},  //定义slot名称

key:"key",  //给元素添加唯一标志

ref:"ref",  //引用信息



render(createElement){
    return createElement(//返回生成的出结构,调用方法
        "ul",//第一个参数为标签名,(对象)

//数据对象属性

        {
            class: {
                bg:true
            },
            style:{
                fontSize:"50px"
            },
            attrs:{
                asd:"mimmi"
            },
            domProps:{
                innerHTML:"<li>我是HTML</li>"
            }
        },

//ui的子元素
        [
        createElement("li",1),
        createElement("li",2),
        createElement("li",3)
        ]
    );
  }
});






//ui的子元素
3、
3、
3、

猜你喜欢

转载自blog.csdn.net/lkm_wonderful/article/details/70258538
今日推荐