假设后端httpswebtvcloudtopjsonshopjson的内容为 namerunoob urlwwwrunoobcom namegoogle urlwwwgooglecom name微博 urlwwwweibocom 我想要使用vue的script获取到后端对应的name内容后打开对应的url
可以使用以下代码:
<!-- 在模板中引入vue.js -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- 定义一个div用来显示name -->
<div id="app">
<p>当前选中的网站为:{{ selectedSite.name }}</p>
</div>
<script>
// 创建Vue实例
var app = new Vue({
el: '#app',
data: {
sites: [], // 存储后端返回的网站数据
selectedSite: {} // 存储当前选中的网站数据
},
methods: {
// 点击网站名称时触发的方法
selectSite: function(site) {
this.selectedSite = site; // 更新当前选中的网站数据
window.open(site.url); // 打开对应的url
}
},
mounted: function() {
// 在组件挂载时发送请求获取网站数据
var self = this;
axios.get('https://web.tvcloud.top/json/shop.json').then(function(response) {
self.sites = response.data;
self.selectedSite = self.sites[0]; // 默认选中第一个网站
}).catch(function(error) {
console.log(error);
});
}
});
</script>
在上述代码中,我们使用axios库发送GET请求获取后端返回的网站数据,并将其存储到Vue实例的sites属性中。同时,我们在组件挂载后将sites的第一个元素作为默认选中的网站,并将其存储到selectedSite属性中。
在模板中,我们使用双花括号语法显示当前选中的网站名称。同时,我们在网站名称的click事件上调用selectSite方法,该方法会将当前点击的网站数据存储到selectedSite属性中,并打开对应的url
原文地址: https://www.cveoy.top/t/topic/d73B 著作权归作者所有。请勿转载和采集!