ref を使用して Vue3 で応答変数を宣言し、関数を使用して値を変更しますが、値を変更できませんResponsely
<template> <p>{{userName}}</p> <button @click='change()'>change</button> </template> <script> //引入定义响应式数据的函数 import {reactive} from 'vue'; import {ref} from "@vue/reactivity"; //!!!!!注意,这里有个坑,ref必须是引用自vue,而非@vue/reactivity export default { name: 'App', //为Vue3的新特性提供统一入口,代码都会在这个函数中添加 //在beforecreated之前进行,因此无法访问this,亦即无法访问data和method setup(){ //定义响应式数据:数据变化,模板中渲染会自动刷新 // const obj=reactive({ // userName:'jack', // }); //只定义一个变量,可以使用ref将变量定义为响应式 let userName=ref('jack') console.log(userName); const change=()=> { userName.value='rose' //注意修改的是ref对象的value属性,但是在template中使用的时候不需要再加value console.log(userName); } return {userName,change} }, } </script>
参照が
import {ref} from "@vue/reactivity"
の場合、応答がありませんが、## に変更するだけで済みます。 #
import {ref} from "vue"
<template> <h2>{{ title }}</h2> </template> <script> export default { data() { return { title: "Hello, Vue!" }; } }; </script>
<template> <h2>{{ title }}</h2> <h3>{{ data.author }}</h3> <button @click=""changeTitle>修改title</button> </template> <script> import { ref, reactive, toRefs } from "vue"; export default { setup() { const title = ref("Hello, Vue 3!"); // 修改 function changeTitle(){ title.value == "Hello, Vue3!" } const data = reactive({ author: "青年码农", age: "18" }); return { title, data, changeTitle }; } }; </script>
ref:
ref の機能は、プリミティブ データ型をデータ型に変換することです。応答付き 式属性のデータ型。ref はパラメータを受け取り、value 属性を持つオブジェクトでラップして返します。この属性は、応答変数の値にアクセスしたり変更したりするために使用できます。たとえば、上記のコードでは次のように、count.value を使用して値を変更します:const title = ref("Hello, Vue 3!");ログイン後にコピー
title.value = "Hello, Vue3!"
const data = ref({ author: "青年码农", age: "18" });
data.value.author = "nmgwap";
reactive:
reactive の反応性を返します。オブジェクトのコピー。参照の応答性を維持しながら、すべての深い参照を解凍します。一般に、オブジェクトまたは配列の応答性を実装するためにこれを使用します。変更と通常のオブジェクトに違いはありません。ビューはリアルタイムで更新されますconst data = reactive({ author: "青年码农", age: "18" });ログイン後にコピー
data.author = "nmgwap"
注:
refは元のデータ型とリアクティブ用です。どちらの API も、一般的な JavaScript データ型にリアクティブ性を与えるオブジェクトに使用されます。以上がVue3 ref で応答性の高い変数を構築できない問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。