最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Thymeleaf?+?Vue組件化開發(fā)方式

 更新時間:2023年11月01日 09:47:00   作者:LauSET  
這篇文章主要介紹了Thymeleaf?+?Vue組件化開發(fā)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

提示:thymeleaf 固然好,但是 vue 也少不了:

可能 vue 用習慣了之后大部分玩家之后使用腳手架,vuecli vite來實現(xiàn)快速開發(fā),可早早地就忘記了其實還是可以搭配 springboot 的一些模版引擎來完成亂配的效果。

一、vue2

1.引入靜態(tài)文件

可以先引用 vue.min.js ,這里使用了 th 完成了動態(tài)的 靜態(tài)資源目錄

下面引入了 :

  • assets/js 目錄下的: vue、vue-i18n、vue-router
  • assets/plugins/elemet 目錄下的: elementui.js
  • assets/static 目錄下的: 也就是我們自己寫的 main.js、i18n.js、router.js

你可以先引入 vue.min.js 和 main.js 來完成最簡單的組件引用功能

<!-- ================== BEGIN vue-js ================== -->
<script th:src="|${RES}/js/vue.min.js|"></script>
<script th:src="|${RES}/js/vue-i18n.min.js|"></script>
<script th:src="|${RES}/js/vue-router.min.js|"></script>
<script th:src="|${RES}/plugins/element/elementui.js|"></script>
<script th:src="|${RES}/plugins/element/locale/zh-CN.js|"></script>
<script th:src="|${RES}/plugins/element/locale/en.js|"></script>
<script th:src="|${RES}/static/i18n.js|"></script>
<script th:src="|${RES}/static/router.js|"></script>
<script th:src="|${RES}/static/main.js|"></script>
<!-- ================== END vue-js ================== -->

樣式引入:

<link th:href="|${RES}/plugins/element/elementui.css|" rel="external nofollow"  rel="stylesheet" />

第一行其實就相當于

<script src="/assets/js/vue.min.js"></script>

注意引入順序,vue.min.js 要在最前面

2.聲明組件

我們現(xiàn)在想要聲明一個 VueHeader 組件然后在 index.html 里用,那么如何去做?

1.在一個文件夾里創(chuàng)建一個 header.html,這里要用到 th:fragment 標簽了

給我們的 template 設置一個 id (vue-header),然后 <script> template 里綁定,這就已經(jīng)跟 .vue 文件差不多了

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<div th:fragment="header">
<template id="vue-header">
    <div id="header" class="app-header app-header-inverse">
       Header
    </div>
</template>
<script>
    const VueHeader = {
        template: '#vue-header',
        components: {
            DtEditor,
        },
        data() {
            return {
                activeLang: ''
            }
        },
        created() {},
        methods: {
            // 切換語言
            changeLang() {
                console.log(`語言切換: ${this.activeLang}`)
                i18n.locale = this.activeLang
            },
        }
    }
</script>
</div>
</html>

2.然后在 index.html 加入以下代碼

假設我上面那個 header.html 在 pages 目錄下,那就寫成下面這樣,引入的順序不重要了,也可放在 vue.min.js 引入之前

<template th:replace="|/pages/header|::header"></template>

<!-- ================== BEGIN vue-js ================== -->
<script th:src="|${RES}/js/vue.min.js|"></script>
...

3.然后在 main.js 里引入組件就可以了

main.js 中的 vueApp 根實例綁定的就是 index.htmlidapp 的元素

// 全局方法,可以在這里注冊
Vue.use(
    (_vue, _opts) => {
        _vue.prototype.$test = () => {
            console.log('test')
        }
    }
)

const vueApp = new Vue({
    el: '#app',
    i18n,
    router,
    components: {
        VueHeader
    },
    data() {
        return {
            activeLang: '', // index.html data
        }
    },
    methods: {}
})

4.最后使用

因為你剛剛是在 vueApp 根實例中引入的組件,所以加載 app div 里就可以了

<!-- BEGIN #app -->
<div id="app">
    <!-- BEGIN #header -->
    <vue-header></vue-header>
    <!-- END #header -->
</div>

二、語法搭配

使用vue方法調用th數(shù)據(jù)

如下:$t() 是 vue 國際化方法,${menu.name} 是 th 里的數(shù)據(jù)

<div class="menu-text" th:v-text="|$t('${menu.name}')|"></div>

類似的還有點擊事件

<a th:@click="| changeActive('${menu.url}') |" href="javascript:;" rel="external nofollow"  class="menu-link">
	<div class="menu-text" th:v-text="|$t('${menu.name}')|"></div>
</a>
<a th:v-on:click="|openEditor(${session?.USER})|" >
	{{ $t('xxx') }}
</a>

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Vue3項目中配置TypeScript和JavaScript的兼容

    Vue3項目中配置TypeScript和JavaScript的兼容

    在Vue3開發(fā)中,常見的使用JavaScript(JS)編寫代碼,但也會有調整編寫語言使用TypeScript(TS)的需求,因此,在Vue3項目設置中兼容TS和JS是刻不容緩的重要任務,
    2023-08-08
  • 在vue+element ui框架里實現(xiàn)lodash的debounce防抖

    在vue+element ui框架里實現(xiàn)lodash的debounce防抖

    今天小編就為大家分享一篇在vue+element ui框架里實現(xiàn)lodash的debounce防抖,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue出現(xiàn)彈出層時禁止底部頁面跟隨滑動

    Vue出現(xiàn)彈出層時禁止底部頁面跟隨滑動

    本文主要介紹了Vue出現(xiàn)彈出層時禁止底部頁面跟隨滑動,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • vue實現(xiàn)動態(tài)列表點擊各行換色的方法

    vue實現(xiàn)動態(tài)列表點擊各行換色的方法

    今天小編就為大家分享一篇vue實現(xiàn)動態(tài)列表點擊各行換色的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue element 表頭添加斜線的實現(xiàn)代碼

    vue element 表頭添加斜線的實現(xiàn)代碼

    這篇文章主要介紹了vue element 表頭添加斜線的實現(xiàn)代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • vscode jsconfig.json 使用簡介

    vscode jsconfig.json 使用簡介

    通過jsconfig.json文件定義一個JavaScript項目,目錄中是否存在此類文件表示該目錄是JavaScript項目的根目錄,文件本身可以選擇列出屬于項目的文件,要從項目中排除的文件以及編譯器選項,這篇文章主要介紹了vscode jsconfig.json 使用說明,需要的朋友可以參考下
    2023-09-09
  • 如何在Vue項目中應用TypeScript類

    如何在Vue項目中應用TypeScript類

    與如何在React項目中應用TypeScript類類似在VUE項目中應用typescript,我們需要引入一個庫vue-property-decorator,需要的小伙伴可續(xù)看下文具體介紹
    2021-09-09
  • vue項目中使用scss詳細方法步驟

    vue項目中使用scss詳細方法步驟

    這篇文章主要給大家介紹了關于vue項目中使用scss的詳細方法步驟,scss是一種css預處理語言,定義了一種新的專門的編程語言,編譯后形成正常的css文件,為css增加一些編程特性,無需考慮瀏覽器的兼容性,讓css更加簡潔、適應性更強,可讀性更佳,需要的朋友可以參考下
    2023-11-11
  • Vue2項目中對百度地圖的封裝使用詳解

    Vue2項目中對百度地圖的封裝使用詳解

    近期項目需求相關地圖限定使用百度地圖,功能比較簡單,下面這篇文章主要給大家介紹了關于Vue2項目中對百度地圖的封裝使用的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Vue學習筆記進階篇之函數(shù)化組件解析

    Vue學習筆記進階篇之函數(shù)化組件解析

    本篇文章主要介紹了Vue學習筆記進階篇之函數(shù)化組件探究,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論

夹江县| 天祝| 彩票| 婺源县| 莒南县| 滨州市| 冀州市| 新郑市| 阿勒泰市| 东城区| 江门市| 蕲春县| 肃北| 姚安县| 白水县| 汤原县| 天等县| 社旗县| 睢宁县| 永定县| 崇明县| 冕宁县| 无极县| 尼勒克县| 广丰县| 吴堡县| 武宁县| 泊头市| 松溪县| 专栏| 福建省| 梁山县| 黔东| 西城区| 武川县| 南投市| 乌鲁木齐县| 宽城| 綦江县| 友谊县| 永川市|