ホームページ  >  記事  >  ウェブフロントエンド  >  vue.setの用途は何ですか

vue.setの用途は何ですか

coldplay.xixi
coldplay.xixiオリジナル
2020-11-12 11:56:305041ブラウズ

vue.set の機能: 1. [Vue.set] メソッドを通じてデータ属性を設定します。コードは [Vue.set(data,'sex', 'male') です。 ]; 2. [vm.$set] インスタンス メソッドを使用します。コードは [var key = 'content';] です。

vue.setの用途は何ですか

【おすすめ関連記事:vue.js

##vue.set の役割:

vue インスタンス生成時、データの再割り当て時に自動更新されない場合がある上に進みます;

インスタンスの作成後にインスタンスに新しい属性を追加しても、ビューの更新はトリガーされません

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vue $set</title>
<script src="https://static.jb51.net/assets/vue/1.0.11/vue.min.js"></script>
</head>
<body>
<div id="app">
 姓名:{{ name }}<br>
 年龄:{{age}}<br>
 性别:{{sex}}<br>
 说明:{{info.content}}
</div>
<!-- JavaScript 代码需要放在尾部(指定的HTML元素之后) -->
<script>
var data = {
 name: "php中文网",
 age: &#39;3&#39;,
 info: {
  content: &#39;my name is test&#39;
 }
}
var key = &#39;content&#39;;
var vm = new Vue({
 el:&#39;#app&#39;,
 data: data,
 ready: function(){
  //Vue.set(data,&#39;sex&#39;, &#39;男&#39;)
  //this.$set(&#39;info.&#39;+key, &#39;what is this?&#39;);
 }
});
data.sex = &#39;男&#39;;//不生效
</script>
</body>
</html>

実行結果:

姓名:php中文网
年龄:3
性别:
说明:my name is test

年齢と名前の両方に get メソッドと set メソッドがありますが、性別にはこれら 2 つのメソッドがありません。したがって、vue は性別の値を設定した後にビューを自動的に更新しません;

解決策:

<script>
var data = {
 name: "脚本之家",
 age: &#39;3&#39;,
 info: {
  content: &#39;my name is test&#39;
 }
} 
var key = &#39;content&#39;;
new Vue({
 el:&#39;#app&#39;,
 data: data,
 ready: function(){
  Vue.set(data,&#39;sex&#39;, &#39;男&#39;);
  this.$set(&#39;info.&#39;+key, &#39;what is this?&#39;);
 }
});
</script>

1. パス Vue.set メソッドは、上記のようにデータ属性を設定します:

Vue.set(data,&#39;sex&#39;, &#39;男&#39;)

2. グローバル Vue.set メソッドのエイリアスでもある vm.$set インスタンス メソッドを使用することもできます。 :

var key = &#39;content&#39;; //这种主要用于当对象中某个属性值动态生成时处理方式
this.$set(&#39;info.&#39;+key, &#39;what is this?&#39;);
//或
this.$set(&#39;info.content&#39;, &#39;what is this?&#39;);

関連する無料学習の推奨事項: JavaScript(ビデオ)

以上がvue.setの用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。