基本语法

<body>
<script src="vue.js"></script>
<div id="app">
{{ msg }}
<div v-html='html'>
<input type="button" value="改变" @click="fc">
<div class="box" :class="{active:is_ok}" :class="['active']"></div>
</div>
<script>
new Vue({
el: '#app',
data: {
html:"<p>hello</p>",
msg: 'hello',
is_ok: false
},
methods: {
fc: function () {
this.msg = 'ssss' }
}
})
</script>

v-text相当于innerText

v-html相当于innerHTML

v-if vs v-show
v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

<h1 v-if="age>15">{{ age }}</h1>
<h2 v-else-if="age<15">二标签</h2>
<h3 v-else>三标签</h3> <div v-show='true'>
<h1>1111</h1>
</div>

v-bind可以绑定标签中任何属性          v-bind:src 等价于 :src

v-on 可以监听 js中所有事件                        v-on:click 等价于 @click

class 两种绑定方式:

1. :class="{active:is_ok}"

2. :class="['active']"

三元运算符

<div v-bind:class="[isActive ? activeClass : '', errorClass]"></div>

事件处理

阻止单击事件继续传播

<a v-on:click.stop="fun"></a>

提交时间不在重载页面

<form v-on:submit.prevent="onSubmit"></form>

串联

<a v-on:click.stop.prevent="fun"></a>

 循环

<ul>
<li v-for="(list,index) in list_all">
{{ index+1 }}--{{ list }}
</li>
</ul>

表单输入绑定(用v-model)

<input type="text" v-model="username">
<textarea v-model="info"></textarea>

单选框绑定

{{ xb }}
<input type="radio" value="0" name="gender" v-model="xb">男
<input type="radio" value="1" name="gender" v-model="xb">女
多选框
<input type="checkbox" value="study" name="gender" v-model="xb">学习
<input type="checkbox" value="practice" name="gender" v-model="xb">练习
xb: []

<select v-model="xb">
<option value="0">bbb</option>
<option value="1">jjj</option>
<option value="2">sss</option>
<option value="3">hhh</option>
</select>

计算属性和监听属性

计算(vue推荐方法)
computed: {
fnc() {
return this.msg.split('').reverse().join('')
}
}
监听:
computed: {
    fnc() {
return this.msg.split('').reverse().join('')
}
},
watch: {
msg:function(newVal, oldVal) {
alert(newVal + ' ' + oldVal)
}
}

过滤器

<div id="app">
{{ price | US | Yuan }}
</div>
<script>
//全局
Vue.filter('Yuan', function (value) {
if (value == '') {
return
}
return value + '美元'
})
//内部
var vue = new Vue({
el: "#app",
data: {
price: 99.9
},
filters: {
US: function (value) {
return '$' + value
}
}
}) </script>

axios(ajax)

var demo = new Vue({
el: "#app",
data: {
list_data: [],
list: [1, 2, 3, 4]
},
mounted: function () {
axios({
method: 'get',
url: '/1',
}).then(
//function (dat) {
//demo.list_data = dat.data
// }
dat => {
this.list_data = dat.data
} ).catch(function (error) {
console.log(error) })
}
})
 组件-基础 (面包屑导航)

 <style>
.crumb {
width: 90%;
line-height: 50px;
margin: 0px auto;
border-bottom: 1px solid #ddd;
}
</style> <body>
<div id="app">
<breadcrumb></breadcrumb>
</div> <script>
Vue.component('breadcrumb', {
template: '<div class="crumb">当前位置是:首页&gt;新闻列表</div>' }) var vm = new Vue({
el: '#app',
})
</script>
组件02

    <style>
.crumb {
width: 90%;
line-height: 50px;
margin: 0px auto;
border-bottom: 1px solid #ddd;
} .hot {
color: red;
font-weight: bold;
text-indent: 10px;
}
</style> <body>
<div id="app">
<breadcrumb pos="首页>新闻"></breadcrumb>
</div> <script>
Vue.component('breadcrumb', {
props: ['pos'],
template: '<div :class="{crumb:true,hot:isHot}" @click="isHot=!isHot">{{ pos }}</div>',
// 独立的数据function(){return{name:'aa'}} 共享数据 : data:{}
data: function () {
return {
isHot: true, }
}
}) var vm = new Vue({
el: '#app',
})
</script>

vue 跨域解决方法

dev: {

    // Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api': {
target: 'http://localhost:7001',//后端接口地址
changeOrigin: true,//是否允许跨越
pathRewrite: {
'^/apis': '',//重写,
}
}
},
 
 

Vue的模板语法的更多相关文章

  1. vue基础---模板语法

    Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  2. Vue.js 模板语法

    本章节将详细介绍 Vue.js 模板语法,如果对 HTML +Css +JavaScript 有一定的了解,学习起来将信手拈来. Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 ...

  3. VUE:模板语法(小白自学)

    VUE:模板语法 一:何为声明式 安装规定的语法,去实现一些效果(不需要管流程). 二:模板语法 <!DOCTYPE html> <html> <head> < ...

  4. 【Vue】Vue框架常用知识点 Vue的模板语法、计算属性与侦听器、条件渲染、列表渲染、Class与Style绑定介绍与基本的用法

    Vue框架常用知识点 文章目录 Vue框架常用知识点 知识点解释 第一个vue应用 模板语法 计算属性与侦听器 条件渲染.列表渲染.Class与Style绑定 知识点解释 vue框架知识体系 [1]基 ...

  5. Vue基础之Vue的模板语法

    Vue基础之Vue的模板语法 数据绑定 01 数据绑定最常见的形式就是使用插值表达式(两个大括号!)[也就是小胡子语法!mustache] <body> <!-- Vue.js的应用 ...

  6. 前端框架之Vue(2)-模板语法

    Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  7. Vue常用模板语法

    常用模板语法   本篇将在上一篇的基础上记录文本渲染.表达式.过滤器以及常用指令的简单用法. 一.文本渲染 Vue支持动态渲染文本,即在修改属性的同时,实时渲染文本内容.同时为了提高渲染效率,也支持只 ...

  8. vue基础——模板语法

    模板语法介绍 Vue.js使用了基于HTML的模板语法,允许开发者声明式地将dom绑定至底层Vue实例的数据.所有Vue.js的模板都是合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析. ...

  9. 一起学Vue之模板语法

    概述 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTM ...

  10. Vue小白篇 -Vue 的模板语法

    可以插入任何你想插入的内容,除了 if-else if-else用三元运算符代替 <div id="box"> <!--模板语法--> <h2> ...

随机推荐

  1. GridView认识(一)

    GridView认识(一)导读:一.显示数据 a.通过代码绑定显示数据 b.通过数据源控件绑定显示数据 二.外观控制 a.整体外观控制 b.列表行的控制 c.列表列的控制 内容:一.显示数据(一)代码 ...

  2. POJ3186 Treats for the Cows —— DP

    题目链接:http://poj.org/problem?id=3186 Treats for the Cows Time Limit: 1000MS   Memory Limit: 65536K To ...

  3. DOM方式解析xml实例2

    老样子,javabean实体类: import java.io.*; public class Book implements Serializable { private int id; priva ...

  4. [九省联考2018]一双木棋chess——搜索+哈希

    题目:bzoj5248 https://www.lydsy.com/JudgeOnline/problem.php?id=5248 洛谷P4363 https://www.luogu.org/prob ...

  5. 《Spring Boot官方指南》(二)入门

    如果您刚开始接触Spring Boot,或者简称’Spring’, 这个部分对您来说非常有用.这个部分提供了“是什么?”,“怎么做?”和 “为什么?”的解释.您除了会阅读一份附带Spring Boot ...

  6. Linux 软链接 硬链接 ln命令(简约说明版)

    注意:路径使用绝对路径!! 解决方法: 当我们需要在不同的目录下用到同一个文件时,会用到以下命令. 命令:ln 作用:为某一个文件在另外一个位置建立一个同步的链接 语法:ln [option] 源文件 ...

  7. python 面向对象二 类和实例

    一.类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法, ...

  8. bzoj 1880: [Sdoi2009]Elaxia的路线【spfa+拓扑排序】

    有趣啊 先spfa分别求出以s1,t1,s2,t2为起点的最短路,然后把在s1-->t1或者s2-->t2最短路上的边重新建有向图,跑拓扑最长路即可 #include<iostrea ...

  9. bzoj 3159: 决战【LCT】

    只是想复健一下LCT没想到做了不得了的题--调了两天QAQ 题解是这么说的: 但是果然还不太理解--因为swap的前后问题调了好久,(所以一开始养成的习惯后面就不要再改啦-- 总之大概就是把对位置lc ...

  10. bzoj 2194: 快速傅立叶之二【NTT】

    看别的blog好像我用了比较麻烦的方法-- (以下的n都--过 \[ c[i]=\sum_{j=i}^{n}a[i]*b[j-i] \] 设j=i+j \[ c[i]=\sum_{j=0}^{n-i} ...