收藏此站 联系我们 网站
当前位置:首页» 行业网站案例 » 【建站服务】海西淘宝装修/海西京东店铺设计/海西拼多多网店装修公司/海西企业网店开通申请-网店装修设计-域名申请

【建站服务】海西淘宝装修/海西京东店铺设计/海西拼多多网店装修公司/海西企业网店开通申请-网店装修设计-域名申请

作者: 风兰 . 阅读量: 9 . 发表时间:2022-09-21 04:44:39

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


海西淘宝装修/海西京东店铺设计/海西拼多多网店装修公司/海西企业网店开通申请-网店装修设计

网站建设.png

Vue3 监听属性

本章节,我们将为大家介绍 Vue3 监听属性 watch,我们可以通过 watch 来响应数据的变化。

以下实例通过使用 watch 实现计数器:

实例

<div id = "app">    <p style = "font-size:25px;">计数器: {{ counter }}</p>    <button @click = "counter++" style = "font-size:25px;">点我</button></div>    <script>const app = {  data() {    return {      counter: 1    }  } } vm = Vue.createApp(app).mount('#app') vm.$watch('counter', function(nval, oval) {    alert('计数器值的变化 :' + oval + ' 变为 ' + nval + '!'); });</script>

尝试一下 »

以下实例进行千米之间的换算:

实例

<head><meta charset="utf-8"><title>Vue 测试实例 - 菜鸟教程(runoob.com)</title><script src="https://unpkg.com/vue@next"></script></head><body><div id = "app">    千米 : <input type = "text" v-model = "kilometers">    米 : <input type = "text" v-model = "meters"></div><p id="info"></p>    <script>const app = {  data() {    return {      kilometers : 0,      meters:0    }  },  watch : {      kilometers:function(val) {          this.kilometers = val;          this.meters = this.kilometers * 1000      },      meters : function (val) {          this.kilometers = val/ 1000;          this.meters = val;      }  } } vm = Vue.createApp(app).mount('#app') vm.$watch('kilometers', function (newValue, oldValue) {    // 这个回调将在 vm.kilometers 改变后调用    document.getElementById ("info").innerHTML = "修改前值为: " + oldValue + ",修改后值为: " + newValue; })</script>


ment.getElementById ("info").innerHTML = "修改前值为: " + oldValue + ",修改后值为: " + newValue;

})

</script>


尝试一下 »

点击 "尝试一下" 按钮查看在线实例


以上代码中我们创建了两个输入框,data 属性中, kilometers 和 meters 初始值都为 0。watch 对象创建了 data 对象的两个监控方法: kilometers 和 meters。


当我们再输入框输入数据时,watch 会实时监听数据变化并改变自身的值。可以看下如下视频演示:


异步加载中使用 watch

异步数据的加载 Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。


以下实例我们使用 axios 库,后面会具体介绍。


实例

<!-- 因为 AJAX 库和通用工具的生态已经相当丰富,Vue 核心代码没有重复 -->

<!-- 提供这些功能以保持精简。这也可以让你自由选择自己更熟悉的工具。 -->

<script src="https://cdn.staticfile.org/axios/0.27.2/axios.min.js"></script>

<script src="https://cdn.staticfile.org/vue/3.2.37/vue.global.min.js"></script>

<script>

  const watchExampleVM = Vue.createApp({

    data() {

      return {

        question: '',

        answer: '每个问题结尾需要输入 ? 号。'

      }

    },

    watch: {

      // 每当问题改变时,此功能将运行,以 ? 号结尾,兼容中英文 ?

      question(newQuestion, oldQuestion) {

        if (newQuestion.indexOf('?') > -1 || newQuestion.indexOf('?') > -1) {

          this.getAnswer()

        }

      }

    },

    methods: {

      getAnswer() {

        this.answer = '加载中...'

        axios

          .get('/try/ajax/json_vuetest.php')

          .then(response => {

            this.answer = response.data.answer

          })

          .catch(error => {

            this.answer = '错误! 无法访问 API。 ' + error

          })

      }

    }

  }).mount('#watch-example')

</script>


尝试一下 »



海西淘宝装修/海西京东店铺设计/海西拼多多网店装修公司/海西企业网店开通申请-网店装修设计


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务