博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue 学习笔记
阅读量:4981 次
发布时间:2019-06-12

本文共 2301 字,大约阅读时间需要 7 分钟。

在html中插入数据控件有2种方式,一种是{

{}}双花括号,一种是directive,类似v-on:click这种写法

<span v-once>This will never change: {

{ msg }}</span>

这样视图中的msg就不会变了。

 

过滤器

{
{
float_number | toInt }

new Vue({

el: '#app',
data: {
float_number: 3433.45
},
filters: { //filters属性关键字,过滤器不过是一个方法,
toInt: function (aaa) {
return parseInt(aaa);
}
//toInt是一个方法
}
})

 

过滤器参数

既然过滤器是方法,当然可以加入参数:

  1. {
    {
    message | filterA 参数1,参数2 }}

参数不是用括号括起来,而是空格在后面直接写,不同参数用逗号分隔,参数这个地方可以写一个具体的值,也可以写一个表达式,具体可以看下面的示例

过滤器可以被串联执行(顺序执行)

  1. {
    {
    message | filterA | filterB }}

这个很好理解。

在{
{}}中运行表达式

什么是JavaScript表达式呢,请看下面示例:

  1. {
    {
    number + 1 }}
  2. {
    {
    ok ? 'YES' : 'NO' }}
  3. {
    {
    message.split('').reverse().join('') }}

它一般表达的是运算关系;如果运算很简单,一次性的,你可以不用filter,而采用这种简短的写法; 注意:{

{}}里只能写单行表达式,不能写多行,更复杂的运算我们后面会介绍解决方案;

 

单次插值:<span v-once="name">{

{name}}</span>   v-once控制只能赋值一次,  更改了那么值   显示的还是 第一次name的值

<!DOCTYPE html>

<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="box" v-once> <!-- 控制数据不变 一直为初始值 -->
{
{msg}}
<div>
{
{msg}}
</div>
</div>
</body>
<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript">
vu = new Vue({
el:"#box",
data:{
msg:"aaaac"
}
})
vu.$data.msg='2323';  修改值的一种形式

//vu.msg="2323"   修改值的另一种形式

</script>

</html>

v-bind

<a v-bind:href="url"></a>

这是用来绑定html已有的属性,比如 class, style, src,href等等,url来自data,这样这些属性就变成动态,响应式的了。

v-html

<div v-html="rawHtml"></div>

这个是用来显示带html标签的内容的,例如文章的正文,rawHtml来自data。

v-text

<div v-text="stringText"></div>

把字符串加到div标签中,stringText来自data,这种写法等同于

<div>{

{stringText}}</div>

v-on

<a v-on:click="doSomething">

这个我们已经见过,事件绑定肯定要输入事件参数。

 

计算属性  computed: 

<!DOCTYPE html>

<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="app">
<p>原来的小数: {
{ float_number }}</p>
<p>计算过的动态属性(整数): {
{ int_number }}</p>
</div>
</body>
<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript">
var vm=new Vue({
el: '#app',
data: {
float_number: 3433.45
},
computed: { //computed 计算属性  (翻译:计算的)属性名不可改
int_number: function () { //这里定义的int_number不再当做方法使用,而是一个属性,
return parseInt(this.float_number); //parseInt(this.float_number)注意这个this,指的就是vm;
}
},
filters: { //filters属性关键字,filters 是属性属性名不能改 过滤器不过是一个方法,
toInt: function (value) {
return parseInt(value);
}
}
})
</script>
</html>

 

 

 

 

 

 

转载于:https://www.cnblogs.com/jinsuo/p/7508878.html

你可能感兴趣的文章
Difference between Linearizability and Serializability
查看>>
IDEA使用操作文档
查看>>
UIView
查看>>
添加日期选择控件
查看>>
bzoj4765: 普通计算姬 (分块 && BIT)
查看>>
看完漫画秒懂区块链
查看>>
Oracle命令类别
查看>>
stc12c5a60s2驱动TEA5767收音机模块硬件调试总结
查看>>
vue中提示$index is not defined
查看>>
css选择器
查看>>
ASP.NET上传下载文件
查看>>
Galaxy Nexus 全屏显示-隐藏Navigation Bar
查看>>
Spring中使用Velocity模板
查看>>
上周热点回顾(8.18-8.24)
查看>>
Feature toggle
查看>>
day02
查看>>
gvim 配置Pydiction
查看>>
Linux安装指定mysql版本
查看>>
分布式锁的三种实现方式
查看>>
poj 2109 pow函数也能这么用?p的开n次方
查看>>