基本语法
< style>
table { border-collapse : collapse; margin : 0 auto;
}
strong { color : rgb ( 235, 51, 100) ;
} td, th { padding-left : 6px;
}
table tr td:first-child { width : 150px
}
table tr td:nth-child(2) { width : 300px
}
</ style>
< template> < table border = ' 1' style = " width : 1000px; float : center" > < tr> < th> 语法</ th> < th> 介绍</ th> < th> 实例</ th> </ tr> < tr> < td colspan = " 3" > < strong> 模板语法</ strong> </ td> </ tr> < tr> < td> 简单的插值</ td> < td> {{ msga }}</ td> < td> {{ msg }}</ td> </ tr> < tr> < td> 原始 HTML</ td> < td> v-html="rawHtml"</ td> < td v-html = " v_html" > </ td> </ tr> < tr> < td> Attribute 绑定</ td> < td> v-bind:id="dynamicId" or :id="dynamicId"</ td> < td> < span :id = " dynamicId" > 绑定id属性</ span> </ td> </ tr> < tr> < td> 布尔型 Attribute</ td> < td> 禁用按钮,:disabled="'false'"</ td> < td> < span :id = " dynamicId" > < button :disabled = " ' false'" > Button</ button> </ span> </ td> </ tr> < tr> < td> v-bind</ td> < td> 不带参数的 v-bind把js对象绑定单个元素上</ td> < td> < div id = " 2" v-bind = " objectOfAttrs" > </ div> </ td> </ tr> < tr> < td> JavaScript 表达式</ td> < td> 数据绑定支持完整的JavaScript表达式</ td> < td> {{ number + 1 }}</ td> </ tr> < tr> < td> 调用函数</ td> < td> 可以在绑定的表达式中使用一个组件暴露的方法</ td> < td> {{ getName() }}</ td> </ tr> < tr> < td colspan = " 3" > < strong> 条件渲染</ strong> </ td> </ tr> < tr> < td> v-if</ td> < td> v-if、v-else、v-else-if</ td> < td> < div v-if = " vif == 1" > 1</ div> < div v-else-if = " vif == 2" > 2</ div> < div v-else > other numbers</ div> </ td> </ tr> < tr> < td> v-show</ td> < td> 改变dispaly属性</ td> < td> < div v-show = " vshow" > display:none</ div> </ td> </ tr> < tr> < td> v-for</ td> < td> for循环, (item,index) in/of items</ td> < td> < span v-for = " (item,index) in vfor" :key = " index" > {{ index + item }} </ span> </ td> </ tr> < tr> < td colspan = " 3" > < strong> 事件处理</ strong> </ td> </ tr> < tr> < td> v-on</ td> < td> v-on监听DOM事件, 简写@</ td> < td> < button @click = " console.log('Hello World');" > 内联事件处理</ button> < button @click = " clickFun()" > 方法事件处理</ button> </ td> </ tr> < tr> < td> event对象</ td> < td> Vue的event对象就是原生js的event对象,通过$event可以把event对象当参数传入方法</ td> < td> < button @click = " eventFun" > event</ button> < button @click = " eventFun1($event)" > $event</ button> </ td> </ tr> < tr> < td colspan = " 3" > < strong> class绑定</ strong> </ td> </ tr> < tr> < td> :class</ td> < td> 允许传入对象来判断class熟悉是否生效,:class="{'className':true}"</ td> < td> < span :class = " {'className':className,'className2':false}" > 查看className</ span> </ td> </ tr> < tr> < td> :class</ td> < td> 可以传入数组 :class="['classname1','classname2']"</ td> < td> < span :class = " ['classname1','classname2']" > 查看className</ span> </ td> </ tr> < tr> < td colspan = " 3" > < strong> style绑定</ strong> </ td> </ tr> < tr> < td> :style</ td> < td> 可以传入对象,:style="{color:'red',fontSize:'5px'}"</ td> < td> < span :style = " {color:'red',fontSize:'5px'}" > 查看样式</ span> </ td> </ tr> < tr> < td colspan = " 3" > < strong> 侦听器:侦听数据变化</ strong> </ td> </ tr> < tr> < td> watch</ td> < td> 在watch下定义与要监听的数据一样命名的函数</ td> < td> {{ watchNum }}< button @click = " watchNumAdd()" > 方法事件处理</ button> </ td> </ tr> < tr> < td colspan = " 3" > < strong> 表单输入绑定</ strong> </ td> </ tr> < tr> < td> v-model</ td> < td> v-model="name"</ td> < td> 名字={{ name }} 年龄={{ age }}</ td> </ tr> < tr> < td colspan = " 3" > < form> < table> < tr> < td> 名字:</ td> < td> < input type = " text" v-model = " name" /> </ td> </ tr> < tr> < td> 年龄:</ td> < td> < input type = " text" v-model.lazy = " age" /> </ td> </ tr> </ table> </ form> </ td> </ tr> < tr> < td colspan = " 3" > < strong> 获取DOM</ strong> </ td> </ tr> < tr> < td> ref</ td> < td> 直接获取HTML元素,ref="define",this.$refs.define</ td> < td> < button ref = " dom" @click = " getDom()" > 获取DOM,改变文本</ button> </ td> </ tr> </ table>
</ template>
< script> export default { data ( ) { return { msg : 'Hello VUE' , msga : '{{ }}' , v_html : '<a href="https://www.baidu.com">超链接</a>' , dynamicId : 1 , objectOfAttrs : { age : 20 , name : 'hello' } , number : 25 , vif : 1 , vshow : false , vfor : [ 'zqq' , 'hello' ] , className : true , watchNum : 0 , name : '' , age : '' } } , methods : { getName : function ( ) { return 'Get Name' ; } , clickFun ( ) { alert ( this . msg) ; } , eventFun ( e ) { console. log ( e. target) ; e. target. innerHTML = 'Event' ; } , eventFun1 ( e ) { console. log ( e. target) ; e. target. innerHTML = '$Event' ; } , watchNumAdd ( ) { this . watchNum ++ ; } , getDom ( ) { this . $refs. dom. innerHTML = 'Hello' ; } } , watch : { watchNum : function ( newVal, oldVal ) { alert ( 'newVal =' + newVal + ' oldVal=' + oldVal) ; } } }
</ script>