vue-basic

vue 基础知识

文本:{{}}值会变  <span v-once>{{msg}}</span> 值永远不变  <input v-model="model">双向数据绑定

原始html  <span v-html="rawHtml"></html> 会把rawHtml里面内容样式渲染之后输出

属性 <span v-bind:id="changeId"></span> <button v-bind:disabled="flag"></button>

使用js表达式 只能用于完整的单个表达式 三目运算符等  {{ok ? 1:2}}  赋值和流控制不能使用

指令 带有v-的指令 <span v-if="seen"></span> 根据seen的值来增加或移除span

参数  一些指令能接收一个参数: <a v-bind:href="url"> 动态更新url 绑定href 
 <a v-on:clcik="doSometning"> 监听doSometning事件
 
修饰符 <form v-on:submit.prevent="onSubmit"> ... </form> .prevent点击触发提交事件后 触发.prevent   修饰符告诉 v-on 指令,在触发事件后调用 event.preventDefault()

computed属性和watch属性
对于复杂的逻辑 应该要用computed,或method
computed
<p>计算后的翻转 message 是:{{ reversedMessage }}</p>
var vm = new Vue({
el: '#example',
data: {
  message: 'Hello'
},
computed: {
  // 一个 computed 属性的 getter 函数
  reversedMessage: function () {
    // `this` 指向 vm 实例
    return this.message.split('').reverse().join('')
  }
}
})

methods 使用时多了一个()
<p>翻转 message 是:"{{ reverseMessage() }}"</p>
methods: {
reverseMessage: function () {
  return this.message.split('').reverse().join('')
}
}
区别 computed 属性会基于它所依赖的数据进行缓存 只要所依赖的数据没变 它就就会去缓存中取数据
computed: {
now: function () {
  return Date.now()
}
}
这个 now就会一直不变 因为Date.now()不是一个响应式的依赖数据 还可以在computed中设置get和set
computed:{
      /*设置getter和setter*/
      fullName:{
          get:function () {
              return this.firstName+","+this.lastName;
          },
          set:function (newVlaue) {
              var names =  newVlaue.split(',')
              this.firstName = names[0];
              this.lastName = names[names.length-1]
          }
      }

  },
而methods 是每当重新触发渲染时,就会执行 




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2016年,一节选修课让我跟摄影结下了缘分,也正是这节选修课让我找到了自己人生中的第二个热爱,并且是无条件做下去的...
    白衡阅读 448评论 5 5
  • 也只有在此刻特别的想学医……但也仅仅就这一刻……实在是见不到血淋淋
    依昔阅读 272评论 0 1
  • Ionic 2应用使用Ionic CLI(Ionic command line) 创建,使用Cordova打包成本...
    全栈弄潮儿阅读 498评论 3 4