前端学习日记Vue:v-once_ v-html _v-bind

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>

<div id="app">
    <!--
    数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值:
        <span>Message: {{ msg }}</span>
    Mustache 标签将会被替代为对应数据对象上 msg 属性的值。无论何时,绑定的数据对象上 msg 属性发生了改变,插值处的内容都会更新。
    
    通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新。但请留心这会影响到该节点上的其它数据绑定:
    <span v-once>这个将不会改变: {{ msg }}</span> 
     -->
    <span v-once>Message: {{msg}}</span>
    
    <!-- 
    v-html 的值是一个数据对象,该对象可以赋值为html标签片段如:<span style="color:red">啊啊啊</span>。
    该html标签片段就会被识别成html的标签元素,而不会识别成普通文本字符串
    -->
    <p>Using mustaches: {{ rawHtml }}</p>
    <p v-html="rawHtml">Using mustaches: {{ rawHtml }}</p>
    
    <!-- 
    Mustache 语法不能作用在HTML属性上,遇到这种情况应该使用 v-bind 指令: 
        对于布尔特性 (它们只要存在就意味着值为 true),v-bind 工作起来略有不同,        如果v-bind指令下的属性的值是 null、undefined 或 false,则 该属性不会显示在渲染出来的元素中,如:
        <button v-bind:disabled="isButtonDisabled">Button</button>
        //button元素中没有disabled这个属性
        
        //v-bind 指令的简写式::属性
    -->
    <button v-bind:disabled="isButtonDisabled">Button</button>
    <div v-bind:class="color">test...</div>
    <div :abc="color">test...</div>
    
    <!-- 
    使用 JavaScript 表达式
    迄今为止,在我们的模板中,我们一直都只绑定简单的属性键值。但实际上,对于所有的数据绑定,Vue.js 都提供了完全的 JavaScript 表达式支持。
     这些表达式会在所属 Vue 实例的数据作用域下作为 JavaScript 被解析。有个限制就是,每个绑定都只能包含单个表达式,所以下面的例子都不会生效。
     <!-- 这是语句,不是表达式 
     {{ var a = 1 }}
     
     <!-- 流控制也不会生效,请使用三元表达式 
     {{ if (ok) { return message } }}
     模板表达式都被放在沙盒中,只能访问全局变量的一个白名单,如 Math 和 Date 。你不应该在模板表达式中试图访问用户定义的全局变量。
     -->
    <p>{{ number + 1 }}</p>
    
    <p>{{ ok? 'YES' : 'NO' }}</p>
    
    <!-- split('')分隔并用数组保存,reverse()翻转数组,join('')将数组所有元素连接成字符串 -->
    <p>{{ message.split('').reverse().join('')}}</p>
    
</div>
<script type="text/javascript">
var vm = new Vue({
    el : "#app",
    data : {
        msg : "hi vue",
        
        rawHtml : '<span style="color:red">啊啊啊</span>',
        
        isButtonDisabled:true,
        //<button disabled="disabled">Button</button>
        // isButtonDisabled:false,
        //<button>Button</button>
        color:'blue',
        
        number : 10,
        
        ok : false,
        
        message : "vue",
        
    }
});

//span标签设置了v-once指令,所以不能再修改msg数据
vm.msg = "hi....";

</script>
<style type="text/css">
/* 
给标签元素添加class类名,即可设置其css样式 
 */
.red{color:red;}
.blue{color:blue; font-size:100px;}

</style>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值