<body>
<div id="main">
// 变量
{{ message }}
<br/>
// 表达式
{{ number + 1}}
</div>
</body>
<script>
const vm = new vue({
el: '#main',
data: {
message: 'Welcome to Chivalrous Island!',
number: 7
},
})
</script>
<div v-html="dangerHTMl"></div>
data: {
...
dangerHTMl: "<span>0085</span>"
}
<div v-bind:id="id" v-html="dangerHTML"></div>
data: {
...
id: 'oldId'
}
当data里面的数据改变时,它的Id也会随之改变。
<div v-bind:id="id">
<button v-on:click="changeId">changeId</button>
</div>
methods: {
changeId: function() {
this.id = 'newId';
}
}
除了Id的绑定之外,还有其他的一些绑定:
<button v-bind:disabled="idDisabled" v-on:click="changeId">changeId</button>
data: {
json: {
key1: 1,
key2: 2
}
},
methods: {
...
computed: {
getJsonkey1: function() {
return this.json.key1;
}
},
// 计算属性的缓存需要借助watch函数的监听
watch: {
json: {
handler: function(newVal,preVal){
console.log(JSON.stringify(preVal));
console.log(JSON.stringify(newVal));
},
deep: true,
}
}
}
在vue里面监听json需要深度监听,因为它们是在同一个内存空间里面,地址是一样的。
这个时候打印出来的,我们会发现它们的新值和旧值都是一样的,这是由于它们是同一个内存地址我们访问时值已经改变。如果我们要改变两次的值不一样,那么我们需要用到计算属性里面的缓存。
比如先不监听json,而是监听getJsonkey1的方法,将watch的json变成getJsonkey1,这样的话我们就可以得到前后的两个值。
testVIf: 'A',
<button v-if="testVIf === 'A'">A</button>
<button v-else-if="testVIf === 'B'">B</button>
<!-- 当判断条件都不满足时显示
<button v-else>C</button>
主要分为点击事件和键盘事件。
<button v-on:click.stop="doAgain"></button>
<form v-on:submit.prevent="onSubmit"></form>
<button v-on:click.stop.prevent="contact"></button>
<form v-on:submit.prevent></form>
按键修饰符(键盘事件):
keyup(e) {
alert(JSON.stringify(e));
}
<input v-on:keyup.enter="keyup" type="text">
keyup监听的是一个所有的键盘事件,如果我们只想监听某一个事件,那么我们可以在 v-on:keyup 后面添加下面属性,然后点击触发即可。 除此之外,对于下面的某一事件监听我们可以输入它对应的键盘码,比如enter对应的是13,v-on:keyup.13="keyup" 同样的我们也是点击enter触发事件。例如一个输入框,当我们输入一个值时,我们绑定的数据会变,而当我们手动的去改动这个值的时候,输入框里面的值也会随之改变。
v-model,不仅可以绑定value,还可以绑定表单里面的一些其他属性checked和selected,表单元素除了输入框之外比如复选框、单选框、下拉框都是可以的。
输入框数据的双向绑定:
<input v-model="inputValue" type="text">
<!-- 点击事件 -->
<button @click="changeInputValue">changeInputValue</button>
data: {
...
inputValue: 10805,
}
methods: {
...
// 当我们点击按钮时,触发changeInputValue,实现累加
changeInputValue: function() {
this.inputValue++;
}
}
watch: {
...
inputValue: function() {
console.log(this.inputValue);
}
}
复选框:
<input v-model="checkboxValue" type="checkbox">
data: {
// 默认选中
checkboxValue: true
}
下一代Jquery模板JsRender。jsrender官网号称简单直观、强大轻快可扩展。压缩体积也只有8.9kb,可以单独在浏览器或node中使用,也可以配合jQuery使用。
ejs是一个款简单的纯js模板引擎,其主要作用是:用来从JSON数据中生成HTML字符串。
artTemplate是腾讯开源的前端模板框架,和mustache,handlerbars类似,在web项目中可以很方便的使用,上手快,如果用过mustache,那么几乎可以快速切换到template框架上来。
们通过 vue 对象修改数据可以直接影响到 DOM 元素,但是,如果直接修改 DOM 元素,却不会影响到 vue 对象的数据;我们把这种现象称为 单向数据绑定 ;通过 v-model 指令展示表单数据,此时就完成了 双向数据绑定
客户最近有一个需求,大致的意思是提供一个 word文档,让其作为一个模板,在发送邮件的时候能够实现按照这个模板的样式和内容,替换其中 的一些字段,作为邮件的内容发给收件人
在开发项目中,后台管理因为面向群体相对比较固定,使用Bootstrap后台模板可以让后端开发很轻松的就展现给客户一个响应式的后台,节约前端开发的时间。下面给大家分享一下最值得拥有的免费Bootstrap后台管理模板
模板引擎负责组装数据,以另外一种形式或外观展现数据。浏览器中的页面是 Web 模板引擎最终的展现。无论你是否直接使用模板引擎,Web 模板一直都在,不在前端就在后端,它的出现甚至可以追溯到超文本标记语言 HTML 标准正式确立之前。
在软件开发中,研发效率永远是开发人员不断追求的主题之一。于公司而言,在竞争激烈的互联网行业中,产出得快和慢也许就决定着公司的生死存亡;于个人而言,效率高了就可以少加班,多出时间去提升自己、发展爱好、陪伴家人,工作、生活两不误
在软件开发中,研发效率永远是开发人员不断追求的主题之一。于公司而言,在竞争激烈的互联网行业中,产出得快和慢也许就决定着公司的生死存亡;于个人而言,效率高了就可以少加班,多出时间去提升自己
Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解析器解析。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!