在springboot项目html中直接使用vue遇到的问题

1. 正常使用viewer插件进行图片操作,以下是能正常跑的代码:

<!DOCTYPE html>
<html lang="zh-Hans">
<head>
<meta charset="utf-8">
<title>viewer.js演示</title>
<link rel="stylesheet" href="css/viewer.min.css">
<style>
* { margin: 0; padding: 0;}
#dowebok { width: 700px; margin: 0 auto; font-size: 0;}
#dowebok li { display: inline-block; width: 32%; margin-left: 1%; padding-top: 1%;}
#dowebok li img { width: 100%;}
</style>
</head>

<body>
<h1>jQuery版本</h1>

<ul id="dowebok">
	<li><img data-original="img/tibet-1.jpg" src="img/thumbnails/tibet-1.jpg" alt="图片1"></li>
	<li><img data-original="img/tibet-2.jpg" src="img/thumbnails/tibet-2.jpg" alt="图片2"></li>
	<li><img data-original="img/tibet-3.jpg" src="img/thumbnails/tibet-3.jpg" alt="图片3"></li>
</ul>

<script src="js/jquery.min.js"></script>
<script src="js/viewer-jquery.min.js"></script>
<script>
$(function() {
	$('#dowebok').viewer({
		url: 'data-original',
	});
});
</script>

 2. 使用vue动态加载数据之后:

        2.1 viewer插件对动态加载的图片就无法操作了,即使重新初始化viewer也无效,

        2.2 <ul id ="dowebok">里面动态加载的图片是正常显示的,只是无法使用viewer操作图片

        2.3 vue中动态加载的图片路径必须是双斜杆,单斜杆会被自动去掉

        2.4 vue中动态加载的数组数据不能使用 this.fileList = 动态加载值 或 vm1.fileList赋值,值能接收到,但是页面不会刷新,需要使用 循环遍历的方法一个一个值push到数组中,push之前先把初始化的值清空再使用 vm1.fileList.push(result[i]) 进行赋值即可,//数组的数据变更需要调用可以实时刷新数据的方法,例如push,sort,pop,splice,否则页面不会刷新

<!DOCTYPE html>
<html>
<head>

<link rel="stylesheet" href="/lunbo/css/viewer.min.css">
<script src="/admin/js/jquery.min.js"></script>
<script src="/admin/js/viewer-jquery.min.js"></script>
<script src="/admin/js/vue.js"></script>
<script src="/admin/js/axios.js"></script>
<style>
	* { margin: 0; padding: 0;}
	#dowebok { width: 700px; margin: 0 auto; font-size: 0;}
	#dowebok li { display: inline-block; width: 32%; margin-left: 1%; padding-top: 1%;}
	#dowebok li img { width: 100%;}
</style>
</head>

<body >
    <div id="app">
       <ul id ="dowebok">
       		<li v-for="str in fileList">
                <img :src="str" :bing-data-original="str" alt="">
                <!-- <img :data-original='`${str}`' :src="str"> 跟上条效果一样-->
            </li>
       </ul>
    </div>
    <script>
	   /*  $(function() { //页面加载时初始化viewer插件,如果给fileList初始化一个图片,那么这么初始化viewer是有效的
	    	$('#dowebok').viewer({
	    		url: 'data-original',
	    	});
	    }); */
        var vm1 = new Vue({
            el: '#app',   // 选择器
            data: {
            	fileList :['\\lunbo\\img\\tibet-1.jpg']   //如果初始化时这么写viewer插件是能使用的,但动态变更的值viewer无法进行更新,如果初始化值为空数组[],那么之后viewer直接无效
            },
            mounted:function () {//页面加载就调用
            	this.getSrc();
            },
            methods:{
           	  	getSrc:function () { //方法定义,需要调用时在调用地方写上 getSrc() 
            	   let url = '/getFileList';
            	   axios.get(url).then(function (res) {
	           		   // this.fileList = res.data;  //这么写页面不会实时刷新数据
	           		    var result = res.data;
	           		    for (var i=0;i<result.length;i++){
	           		   	    vm1.fileList.push(result[i]); //数组的数据变更需要调用可以实时刷新数据的方法,例如push,sort,pop,splice
	           		    } 
            	   })
           	  	}
           	}
        })
    </script>
</body>

</html>

Spring Boot项目集成Vue.js前端项目通常涉及到两部分配置:前端构建和后端API通信。以下是简单的步骤: 1. **设置前端结构**: - 创建一个新的文件夹,例如`src/main/resources/static`,用于存放Vue项目的静态资源(如HTML、CSS、JS文件)。 - 安装并初始化Vue CLI,然后创建一个新的Vue项目到这个目录下。 ```sh cd src/main/resources/static npx vue create frontend-app ``` 2. **配置Webpack**: - 需要在Spring Boot的`application.properties`或`application.yml`配置WebpackDevServer作为静态资源处理器。例如: ``` spring.mvc.static-path-pattern=/static/** server.port=8080 devtools.restart.enabled=true ``` 这样可以让Spring Boot服务器代理Webpack的请求。 3. **运行Vue项目**: - 在Vue项目目录下启动开发服务器: ```sh cd frontend-app npm run serve ``` 然后浏览器会自动打开本地开发环境。 4. **编写RESTful API**: - 在Spring Boot创建后端控制器,提供RESTful API供前端访问数据。比如GET、POST等操作。 ```java @RestController public class UserController { @GetMapping("/users") List<User> getUsers() { // 返回用户列表 } } ``` 5. **前端与后端通信**: - Vue通过axios库或其他HTTP客户端库与后端API交互。在`main.js`配置axios默认配置,指向Spring Boot应用的URL。 6. **部署**: - 当前端开发完成后,将静态资源(`static`)目录打包成生产环境。然后将打包后的文件上传至Spring Boot项目的`public`目录或相应的静态资源路径。 相关问题: 1. 如何配置Vue CLI以生成适应Spring Boot的前端结构? 2. Spring Boot如何处理Vue的静态资源请求? 3. 如果我想在生产环境部署Vue应用,需要做哪些额外配置?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往事不堪回首..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值