国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

三維交互可視化平臺(智慧海上牧場平臺)學習開發(fā)之Vue(一)

這篇具有很好參考價值的文章主要介紹了三維交互可視化平臺(智慧海上牧場平臺)學習開發(fā)之Vue(一)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

最近找導(dǎo)師重新更換了研究方向,學的東西還是蠻雜的,本來就是一個代碼菜鳥,搗鼓一大堆,全棧開發(fā)、各種語言、區(qū)塊鏈開發(fā)等等,之前總是想要學會一項,完成一樣功能才記錄。目前我要完成的項目是一個智慧海洋牧場平臺,前期學習了Flask+mysql+echarts的可視化展示,現(xiàn)在需要學習cesium和vue搭建三維交互平臺,之前用的都是原生js,甚至連jquery也沒有學,唯一用的就是ajax,給各位看看我想完成的目標(注意是我想完成的,因為我覺得目前在水產(chǎn)養(yǎng)殖行業(yè)缺少這種,而導(dǎo)師不這么想,下面會說到),如圖:
三維交互可視化平臺(智慧海上牧場平臺)學習開發(fā)之Vue(一)
以下是和導(dǎo)師交流過多次的需求圖,有點亂,不過大致能理解就是一個管理系統(tǒng),他說實時數(shù)據(jù)和監(jiān)控的接口都會給我,如圖:
三維交互可視化平臺(智慧海上牧場平臺)學習開發(fā)之Vue(一)

學習路線是先vue,再前后端分離,接著做項目的管理系統(tǒng),把管理系統(tǒng)完善后,最后學習cesium三維交互,達到我想要研究的最終效果。

環(huán)境

pycharm 2019 專業(yè)版
Flask框架
三維交互可視化平臺(智慧海上牧場平臺)學習開發(fā)之Vue(一)

Vue入門

我是跟著這篇文章一路敲下來的,感興趣的朋友請看這篇,接下來我的思路問題也會按照這篇進行。
原文鏈接:Vue

  • Vue安裝

    按照這篇文章
    vue安裝測試
    先把vue該有的環(huán)境搭建好,該下載的下載,測試成功就行。

  • 案例分析

    敲第一個案例發(fā)現(xiàn) v-model 黃色,提示"Attribute v-xxx is not allowed here",我是引入了Vue.js的,經(jīng)過資料查找需要在編譯器插件中下載Vue.js,這樣就會有代碼提示,并且不會報錯。
    三維交互可視化平臺(智慧海上牧場平臺)學習開發(fā)之Vue(一)
    1.vue基礎(chǔ)
    大致了解vue怎么工作,基本語法v-bind,v-model,v-if,v-for,v-on等等,注意data中的數(shù)據(jù)都是json格式的,v-on需要注意涉及到方法調(diào)用,需要寫一個類似于js的方法,下面以v-on為例模板:

    <div id="app"> 
    <!--click綁定了sayHi方法-->
        <button v-on:click="sayHi">點我</button>
    </div>
    
    <!--1.導(dǎo)入Vue.js-->
    <script src="../../static/js/vue.js"></script>
    <script type="text/javascript">
        var vm = new Vue({
            el:"#app",
            data:{
                message:'Hello World'
            },
            methods:{
                sayHi:function(event){
                    //'this'在方法里面指向當前Vue實例
                    alert(this.message);
                }
            }
        });
    </script>
    

    2.v-model雙向數(shù)據(jù)綁定
    以多行文本為例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div id="app">
       多行文本:<textarea v-model="pan"></textarea>&nbsp;&nbsp;多行文本是:{{pan}}
    </div>
    
    <script src="../js/vue.js"></script>
    <script type="text/javascript">
        var vm = new Vue({
            el:"#app",
            data:{
            //注意這里是pan,要與上面的{{pan}}一致,原文里寫的是message
                pan:"Hello hello!"
            }
        });
    </script>
    </body>
    </html>
    
    

    3.組件部分
    一組可以重復(fù)使用的模板,一個框架里有多個組件,可復(fù)用。
    分為全局組件和局部組件:全局組件在Vue實例外部定義。局部實例在實例內(nèi)定義,且僅在父模板內(nèi)可用。
    自定義指令,Vue.directive()全局指令。Vue實例中的directives屬性,添加的是局部屬性。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>組件:可復(fù)用型</title>
        <script src="../../static/js/vue.js"></script>
    </head>
    <body>
        <div id="app">
            <pan v-for="item in items" v-bind:panh="item"></pan>
        </div>
        <!--Vue.cpomponent()注冊組件 pan 定義組件名字 -->
        <script type="text/javascript">
            // 先注冊組件
            Vue.component("pan",{
            //pros是屬性
                props:['panh'],
                template: '<li>{{ panh }}</li>'
            });
            // 再實例化Vue
            var vm = new Vue({
                el:"#app",
                data:{
                // 參數(shù)放在data中被調(diào)用
                    items:['a','b','c']
                }
            });
        </script>
    </body>
    </html>
    
    

    4.異步axios
    使用axios有幾個方法,這里選兩個:
    1).在終端輸入:npm install axios
    使用時
    import Axios from 'axios' Vue.prototype.$axios=Axios
    (這種方法我試了不好使,網(wǎng)頁提示Cannot use import statement outside a module)
    2).在編譯器直接引入并使用:
    html <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    這種可以

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            {#解決閃爍問題#}
            [v-cloak]{
                display: none;
            }
        </style>
        <script src="../../static/js/vue.js"></script>
        <!--Axios異步通信,vue的ajax需要用到vue-resource庫的axios-->
    </head>
    <body>
    <div id="vue">
        <div>地名:{{ info.name }}</div>
        <div>地址:{{ info.address.country }}--{{ info.address.city }}--{{ info.address.street }}</div>
        <div>鏈接:<a v-bind:href="info.url" target="_blank">{{ info.url }}</a></div>
    </div>
    
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script type="text/javascript">
    
        var vm = new Vue({
            el:"#vue",
            // data屬性vm
            data(){
                return{
                    info:{
                        name:null,
                        address:{
                            country:null,
                            city:null,
                            street:null
                        },
                        url:null
                    }
                }
            },
            mounted() {
                //鉤子函數(shù),get中的url是json本目錄下的json文件
                axios.get('data.json')
                    .then(response=>(this.info=response.data));
                //這個等價于什么呢
            }
        });
    
    </script>
    
    </body>
    </html>
    

    5.計算屬性
    跑5.2的時候達不到預(yù)期,應(yīng)該是原文代碼有問題,我就放棄按照原文敲了,轉(zhuǎn)到
    三維交互可視化平臺(智慧海上牧場平臺)學習開發(fā)之Vue(一)

    computed和methods的效果相同,但是他們的區(qū)別在于computed性能更好,如果不用緩存,可以使用methods。
    computed默認屬性有g(shù)etter,也可以設(shè)定setter

    <div id="app">
      <p>{{ site }}</p>
    </div>
    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                name:'zhang',
                url:'www.baidu.com'
            },
            computed:{
                site:{
                    get:function () {
                        return this.name + '  ' +this.url
                    },
                    set:function (newValue) {
                        var names = newValue.split(' ')
                        this.name = names[0]
                        this.url = names[names.length - 1]
                    }
                }
            }
        })
        vm.site = '菜鳥教程http://www.ds';
    </script>
    

    6.監(jiān)聽屬性
    類似于v-on自動觸發(fā)版,@click是v-on:click的簡寫

    <div id="app">
        <!--
        <h1>計數(shù)器:{{ counter }}</h1>
        <button @click="counter++">點擊</button>
        -->
        千米:<input type="text" v-model="kilometers">
        米:<input type="text" v-model="meters">
    </div>
    <script>
    var vm = new Vue({
        el: '#app',
        data: {
            kilometers: 0,
            meters: 0
        },
        watch:{
            kilometers:function (val) {
                this.kilometers = val;
                this.meters = this.kilometers*1000;
            },
            meters:function (val) {
                this.meters = val;
                this.kilometers = this.meters/1000;
            }
        }
    });
    // vm.$watch('counter', function(nval, oval) {
    //alert('計數(shù)器值的變化 :' + oval + ' 變?yōu)?' + nval + '!');
    //});
    </script>
    

    7.樣式綁定
    后面的樣式屬性會覆蓋前面相同的屬性,例如background

    <style>
    .active {
    	width: 100px;
    	height: 100px;
    	background: green;
    }
    .text-danger {
    	background: red;
    }
    </style>
    </head>
    <body>
    
    <div id="app">
        <div v-bind:class="[activeClass, errorClass]"></div>
    </div>
    
    <script>
    new Vue({
      el: '#app',
      data: {
        activeClass: 'active',
          errorClass: 'text-danger'
      }
    })
    </script>
    

    8.事件處理器
    以下是事件修飾符,還有按鍵修飾符,第6節(jié)已經(jīng)介紹@click,其他也是類似寫法

    <!-- 阻止單擊事件冒泡 -->
    <a v-on:click.stop="doThis"></a>
    <!-- 提交事件不再重載頁面 -->
    <form v-on:submit.prevent="onSubmit"></form>
    <!-- 修飾符可以串聯(lián)  -->
    <a v-on:click.stop.prevent="doThat"></a>
    <!-- 只有修飾符 -->
    <form v-on:submit.prevent></form>
    <!-- 添加事件偵聽器時使用事件捕獲模式 -->
    <div v-on:click.capture="doThis">...</div>
    <!-- 只當事件在該元素本身(而不是子元素)觸發(fā)時觸發(fā)回調(diào) -->
    <div v-on:click.self="doThat">...</div>
    
    <!-- click 事件只能點擊一次,2.1.4版本新增 -->
    <a v-on:click.once="doThis"></a>
    

    9.Vue路由
    vue路由需要加載vue-router庫:
    npm install vue-router@4
    使用時,引用的@3.0.0始終指向最新版本,所以不用擔心

    <script https://unpkg.com/vue-router@3.0.0/dist/vue-router.js"></script>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="../../static/js/vue.js"></script>
        <script src="https://unpkg.com/vue-router@3.0.0/dist/vue-router.js"></script>
    </head>
    <body>
         <div id="app">
             <h1>hello,router</h1>
             <!--<router-link> 是一個組件,默認被渲染成一個<a>標簽,
             該組件用于設(shè)置一個導(dǎo)航鏈接,切換不同 HTML 內(nèi)容。
             to 屬性為目標地址, 即要顯示的內(nèi)容。
             以下實例中我們將 vue-router 加進來,然后配置組件和路由映射,再告訴 vue-router 在哪里渲染它們。-->
             <p>
                 <router-link to="/foo">Go to foo</router-link>
                 <router-link to="/bar">Go to bar</router-link>
             </p>
             <!--路由出口,匹配到的組件渲染在這-->
             <router-view></router-view>
             </div>
             <script type="text/javascript">
                 //1.定義路由組件,也可以從其他文件導(dǎo)入
                 const Foo = {template:'<div>foo</div>'}
                 const Bar = {template:'<div>bar</div>'}
                 //2.定義路由
                 //每個路由應(yīng)該映射一個組件,其中可以是"component"
                 //通過Vue.extend()創(chuàng)建的組件構(gòu)造器
                 const  routes = [
                     {path:'/foo',component:Foo},
                     {path:'/bar',component:Bar}
                 ]
                 //3.創(chuàng)建router實例,傳'routes'配置
                 const router = new VueRouter({
                     routes //相當于routes:routes
                 })
                 //4.創(chuàng)建和掛載根實例
                 //要通過router配置參數(shù)注入路由,從而讓整個應(yīng)用都有路由功能
                 const app = new Vue({
                     router
                 }).$mount('#app')
             </script>
    
    </body>
    </html>
    

    10.實例運用
    1)案例一:導(dǎo)航欄,根據(jù)點擊不同的鏈接,下面會產(chǎn)生相應(yīng)文字
    用法總結(jié):拋開css樣式不談,在點擊鏈接時觸發(fā)makeActive方法,將item參數(shù)賦給active觸發(fā){{active}},延伸可以用作方法綁定或者頁面跳轉(zhuǎn),點擊導(dǎo)航欄,跳轉(zhuǎn)到某個url。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>實例訓練一,導(dǎo)航欄</title>
        <script src="../../static/js/vue.js"></script>
    <!--    <link rel="stylesheet"  href="../../static/less/new_1.css">-->
    </head>
    <body>
    <div id="app">
    <!--    激活的菜單樣式為active類-->
    <!--    為了阻止鏈接點擊時跳轉(zhuǎn),使用了“prevent”修飾符-->
        <nav v-bind:class="active" @click.prevent>
            <!--當菜單上的鏈接被點擊時,調(diào)用了makeActive方法,在Vue實例中創(chuàng)建-->
            <a href="#" class="home" @click="makeActive('home')">Home</a>
            <a href="#" class="projects" @click="makeActive('projects')">Projects</a>
            <a href="#" class="services" @click="makeActive('services')">Services</a>
            <a href="#" class="contact" @click="makeActive('contact')">Contact</a>
        </nav>
        <p>選擇了<b>{{active}}</b></p>
        </div>
        <script>
            var vm = new Vue({
                el:'#app',
                data:{
                    active:'home'
                },
                //點擊菜單使用的函數(shù)
                methods:{
                    makeActive: function (item) {
                        this.active = item;
                    }
                }
            })
        </script>
    
    </body>
    </html>
    

    2)案例二:文本編輯
    用法總結(jié):拋開css樣式不談,@click綁定顯示編輯欄和隱藏編輯欄方法,利用v-model與文本雙向綁定。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>文本編輯</title>
        <script src="../../static/js/vue.js"></script>
    </head>
    <body>
    <div id="app" @click='hideTooltip'>
        <div @click.stop v-if="show_tooltip">
            <input type="text" v-model="text_content">
        </div>
        <p @click.stop="toggleTooltip">{{text_content}}</p>
    </div>
    <script type="text/javascript">
        var vm = new Vue({
            el:'#app',
            data:{
                show_tooltip:false,
                text_content:'點我編輯'
            },
            methods:{
                hideTooltip:function () {
                    this.show_tooltip = false;
                },
                toggleTooltip:function () {
                    this.show_tooltip = !this.show_tooltip;
                }
    
            }
        })
    </script>
    </body>
    </html>
    

附注:

我編譯器里的less代碼里面的選擇器嵌套無法識別,例如

.from_box{
	form{
	input{}
	}
}
//以上識別不了


.from_box form input{}
//這種可以

以下兩篇文章教你如何在編譯器中使用less
12文章來源地址http://www.zghlxwxcb.cn/news/detail-405438.html

//這里后綴注意是.css
less只是預(yù)編譯
.css才是你要調(diào)用的
<link rel="stylesheet"  href="../static/less/index.css">

到了這里,關(guān)于三維交互可視化平臺(智慧海上牧場平臺)學習開發(fā)之Vue(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)字孿生智慧工廠三維可視化系統(tǒng)解決方案,打造新一代智慧工廠

    數(shù)字孿生智慧工廠三維可視化系統(tǒng)解決方案,打造新一代智慧工廠

    在制造業(yè)的快速發(fā)展和數(shù)字化轉(zhuǎn)型的時代,智慧工廠已經(jīng)成為制造企業(yè)前進的必經(jīng)之路。數(shù)字孿生技術(shù),作為工業(yè)數(shù)字化轉(zhuǎn)型的核心動力,為打造智慧工廠提供了關(guān)鍵支持。其中,數(shù)字孿生智慧工廠三維可視化系統(tǒng)解決方案無疑是制造企業(yè)的得力助手,通過實時數(shù)據(jù)采集、數(shù)

    2024年02月08日
    瀏覽(101)
  • 數(shù)字孿生智慧校園三維可視化管理系統(tǒng)解決方案

    數(shù)字孿生智慧校園三維可視化管理系統(tǒng)解決方案

    隨著科學技術(shù)的進步,人們對于生活的要求也越來越高。而教育也不例外。要想讓學生受益于科學的進步,那么教育就必須要跟上時代的步伐。這就是“智慧校園”誕生的原因。 教育部等六部門于2021年7月印發(fā)的《關(guān)于推進教育新型基礎(chǔ)設(shè)施建設(shè)構(gòu)建高質(zhì)量教育支撐體系的指

    2024年02月16日
    瀏覽(98)
  • 三維可視化智慧工地源碼,數(shù)字孿生可視化大屏,微服務(wù)架構(gòu)+Java+Spring Cloud +UniApp +MySql

    三維可視化智慧工地源碼,數(shù)字孿生可視化大屏,微服務(wù)架構(gòu)+Java+Spring Cloud +UniApp +MySql

    源碼技術(shù)說明 微服務(wù)架構(gòu)+Java+Spring Cloud +UniApp +MySql;支持多端展示(PC端、手機端、平板端);數(shù)字孿生可視化大屏,一張圖掌握項目整體情況;使用輕量化模型,部署三維可視化管理,與一線生產(chǎn)過程相融合,集成數(shù)據(jù)后臺,統(tǒng)一前端入口,呈現(xiàn)多方項目信息;用戶PC端、移動

    2024年02月03日
    瀏覽(290)
  • 三維可視化平臺有哪些?Sovit3D可視化平臺怎么樣?

    三維可視化平臺有哪些?Sovit3D可視化平臺怎么樣?

    隨著社會經(jīng)濟的發(fā)展和數(shù)字技術(shù)的進步,互聯(lián)網(wǎng)行業(yè)發(fā)展迅速。為了適應(yīng)新時代社會發(fā)展的需要,大數(shù)據(jù)在這個社會經(jīng)濟發(fā)展過程中隨著技術(shù)的進步而顯得尤為重要。同時,大數(shù)據(jù)技術(shù)的快速發(fā)展進程也推動了可視化技術(shù)的飛速發(fā)展,國內(nèi)外各類可視化工具軟件平臺如雨后春

    2024年02月13日
    瀏覽(23)
  • 數(shù)字鄉(xiāng)村三維可視化監(jiān)控管理平臺

    數(shù)字鄉(xiāng)村三維可視化監(jiān)控管理平臺

    數(shù)字鄉(xiāng)村是伴隨網(wǎng)絡(luò)化、信息化和數(shù)字化在農(nóng)業(yè)農(nóng)村經(jīng)濟社會發(fā)展中的應(yīng)用,既是鄉(xiāng)村振興的戰(zhàn)略方向,也是建設(shè)數(shù)字中國的重要內(nèi)容。為了進一步提升鄉(xiāng)村治理智能化、專業(yè)化水平,解決建設(shè)頂層缺失、數(shù)據(jù)孤島等問題,數(shù)字孿生技術(shù)被廣泛應(yīng)用于數(shù)字鄉(xiāng)村建設(shè)中。 聽濤觀

    2024年02月12日
    瀏覽(94)
  • 數(shù)字孿生特高壓電網(wǎng)三維可視化平臺實現(xiàn)能源智能管理

    數(shù)字孿生特高壓電網(wǎng)三維可視化平臺實現(xiàn)能源智能管理

    電力是現(xiàn)代社會不可或缺的基礎(chǔ)能源,而有效管理電力資源對于實現(xiàn)可持續(xù)發(fā)展至關(guān)重要。近年來,隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等技術(shù)的快速發(fā)展,電網(wǎng)領(lǐng)域的數(shù)字化轉(zhuǎn)型已經(jīng)成為一種趨勢。而其中關(guān)鍵的一環(huán)便是電網(wǎng)三維數(shù)字孿生技術(shù),它為實現(xiàn)智能能源管理的未來打

    2024年02月06日
    瀏覽(35)
  • 劇院建筑三維可視化綜合管控平臺提高安全管理效率

    劇院建筑三維可視化綜合管控平臺提高安全管理效率

    隨著數(shù)字孿生技術(shù)的高速發(fā)展,智慧樓宇也被提上日程,以往樓宇管理存在著設(shè)備故障排查困難、能源浪費與管理不足、安全性和風險高等問題,而智慧樓宇數(shù)字孿生可視化中控平臺,打造智慧樓宇管理一張圖,實現(xiàn)了智慧建筑和樓宇的智能化、自動化和數(shù)字化管理。 智慧樓

    2024年02月07日
    瀏覽(26)
  • 智慧電網(wǎng)數(shù)據(jù)可視化運維云平臺解決方案

    智慧電網(wǎng)數(shù)據(jù)可視化運維云平臺解決方案

    智慧電力概述 智慧電力是通過采用先進的大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)、邊緣計算等技術(shù),實現(xiàn)生產(chǎn)信息與管理信息的智慧,實現(xiàn)人、技術(shù)、經(jīng)營目標和管理方法的集成,是企業(yè)管理思想的一個新突破。智慧電廠建設(shè)具備智能化、一體化、可觀測、可互動、自學習、自尋優(yōu)等九大

    2024年01月20日
    瀏覽(31)
  • 化工園區(qū)數(shù)字孿生可視化管控平臺,賦予園區(qū)安全環(huán)保智慧發(fā)展

    化工園區(qū)數(shù)字孿生可視化管控平臺,賦予園區(qū)安全環(huán)保智慧發(fā)展

    化工行業(yè)作為國民經(jīng)濟的支柱和工業(yè)發(fā)展的引擎,對安全生產(chǎn)、環(huán)保節(jié)能、應(yīng)急管控有著很高的要求。目前國內(nèi)外化工園區(qū)面臨安全和環(huán)保兩大壓力。為有效解決這兩大難題,巨蟹數(shù)科綜合運用物聯(lián)網(wǎng)、數(shù)字孿生等新一代信息技術(shù),建設(shè)了數(shù)字孿生園區(qū)智慧化管理平臺,對安

    2024年02月06日
    瀏覽(90)
  • Java可視化物聯(lián)網(wǎng)智慧工地SaaS平臺源碼:人臉識別考勤

    Java可視化物聯(lián)網(wǎng)智慧工地SaaS平臺源碼:人臉識別考勤

    ? ? ? ?基于微服務(wù)+Java+Spring Cloud Vue +UniApp +MySql實現(xiàn)的智慧工地云平臺源碼 智慧工地是指利用云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、人工智能等技術(shù)手段,為建筑施工現(xiàn)場提供智能硬件及物聯(lián)網(wǎng)平臺的解決方案,以實現(xiàn)建筑工地的實時化、可視化、多元化、智慧化和便捷化

    2024年02月11日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包