ホームページ > 記事 > ウェブフロントエンド > vuejsで背景色を変更する方法
vuejs の背景色を変更する方法: 1. Index.html に共通の CSS スタイルを導入します; 2. 「beforeCreate () {...}」を追加して、単一コンポーネントの背景色を変更します。コード。
この記事の動作環境: Windows7 システム、vue2.5.17 バージョン、Dell G3 コンピューター。
vuejs で背景色を変更するにはどうすればよいですか?
Vue は背景色の変更操作を実装します。
次のように:
<!-- 分页上下页改变背景图效果 --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=""> <script type="text/javascript" src="../node_modules/vue/dist/vue.js"></script> <style type="text/css" media="screen"> .page{ list-style: none; } .page>li{ float: left; margin-left: 10px; } .page>li>a{ text-decoration: none; } .active{ color: red; text-decoration: display; } p{ width: 500px;height: 500px; } </style> </head> <body > <p id="app" v-bind:style="{backgroundColor:bgCol}"> <ul class="page"> <li> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-on:click="decrease" >上一页</a> </li> <li v-for="n in totalPage"> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-bind:class="n==activeNum?'active':''">{{n}}</a> </li> <li> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="increase">下一页</a> </li> </ul> </p> <script type="text/javascript"> var exampleData={ //msg:"Hello Vue", bgCol:"#DB8623FF", totalPage:10, activeNum:3, } var app = new Vue({ el:'#app', data:exampleData, methods:{ decrease:function(){ this.activeNum==1?'':this.activeNum-=1; this.bgCol=this.getRandom(); }, increase:function(){ this.activeNum==10?'':this.activeNum+=1; this.bgCol=this.getRandom(); }, getRandom:function(){ var r=Math.floor(Math.random()*256); var g=Math.floor(Math.random()*256); var b=Math.floor(Math.random()*256); var a=Math.random().toFixed(1); return `rgba(${r},${g},${b},${a})` } } }) </script> </body> </html>
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>自定义指令实现随机背景</title> <style type="text/css" media="screen"> #app{ width: 999px; height: 999px; } </style> </head> <body> <h3>自定义指令</h3> <p id="app" v-change-background-color="myBgColor"> <h3 > <input type="text" v-model="myBgColor" placeholder="请输入16进制颜色"> </h3> </p> <script src="../node_modules//vue/dist/vue.js"></script> <script> var exampleData = { myBgColor: "#5FCA34", }; new Vue({ el: "#app", data: exampleData, methods:{ getRandom:function(){ var r=Math.floor(Math.random()*256); var g=Math.floor(Math.random()*256); var b=Math.floor(Math.random()*256); var a=Math.random().toFixed(1); return `rgba(${r},${g},${b},${b})` } }, directives: { changeBackgroundColor: { bind: function(el, bindings) { //el:指定绑定dom元素 h3dom对象 //bindings:自定义指令对象 //v-change-background-color="myBgColor" //bindings.value;=="#ff0000" var r=Math.floor(Math.random()*256); var g=Math.floor(Math.random()*256); var b=Math.floor(Math.random()*256); var a=Math.random().toFixed(1); el.style.backgroundColor =`rgba(${r},${g},${b},${a})`; console.log("绑定成功"); }, update: function(el, bindings) { console.log('已更新数据'); var r=Math.floor(Math.random()*256); var g=Math.floor(Math.random()*256); var b=Math.floor(Math.random()*256); var a=Math.random().toFixed(1); el.style.background = `rgba(${r},${g},${b},${a})` }, //更新数据 } } }); </script> </body> </html>
追加知識: vue は背景色を均一に設定し、ページの背景色を個別に変更します
時々、個別の変更が発生することがあります。あるコンポーネントの塗りつぶし色を変更するには、index.htmlに共通のCSSスタイルを導入しました(背景色はbodyで設定します) 単体コンポーネントにはbodyタグがないため、単体コンポーネントの背景色を変更するには、次の Just コードを追加するだけです。
beforeCreate () { document.querySelector('body').setAttribute('style', 'margin: 0 auto; width: 100%; max-width: 750px;min-width: 300px; background:#171b2a; overflow-x: hidden;height: 100%;'); }
推奨学習: 「vue チュートリアル 」
以上がvuejsで背景色を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。