vue 524 (生命周期 计算属性 监听)

每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

 依据上表可以确定各个位置的先后触发顺序

//  关于计算属性:

    vue改变或获取一个内部方法有以下两种种.

     1.在vue对象中 以  methods:{}模式定义各类成员方法:

        例如(js  vue对象定义内): methods:{ FF1(){return  成员变量1+'bbb'}

               在标签内使用时为   <标签> {{FF1()}}  </标签>   //返回  FF1()方法值

               该模式是每次调用都会返回最新值. 

扫描二维码关注公众号,回复: 1015804 查看本文章

   2. 在vue对象中 以  computed:{}模式定义各类成员方法:

              例如(js  vue对象定义内): computed:{ FF1(){return  成员变量1+'bbb'}

              在标签内使用时为   <标签> {{FF1}}  </标签>   //返回  FF1()方法值

               该模式是每次调用不一定会返回最新值. ,除非所引用的变量值发生变更,不然每次调用都是原始值,当调用的变量发生变化时,计算属性值会自动更新

 //watch:可以检测指定变量变化,并做指定操作

                watch:{变量名1(新值,旧值){用新旧值做先关操作.})} 

///以上内容配套测试代码///

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>生命周期+计算属性  监听</title>
 <script  src="vue.js"></script>
<style type="text/css">
</style>
</head>
<body>
<div id="zuj">
 {{fl + ln}}
 <input type="button" value="chang" v-on:click="xg">
</div>
</body>
<script  type ='text/javascript'>
 var vm= new Vue({
  el:'#zuj',
  data:{mmm:'test123456',
        fl:'aaa',
        ln:'bbb'},
   watch:{fl(nv,odv){console.log(nv)}},
  mounted:
  function(){
    console.log('mounted died')   //后执行
  },
  created:function(){
    console.log('created did')  //先执行
  },
  methods:{   //此范围内将以 fh() 方式进行调用
    fh(){ return this.mmm.split("").reverse().join("")},
    xg(){this.fl='cccc'},
            },
   computed:{
    fh2(){
      return this.mmm +"kkkkkkkklklk"  //调用后,如果mmm值不变化,则调用一直未首次调用值
    }
   }
 })
</script>
</html>

猜你喜欢

转载自www.cnblogs.com/xfym888/p/9085773.html