const baseurl="http://192.168.1.100:8016/" const app = Vue.createApp({ setup(){ // 导航栏 const titlemo = Vue.ref([]); const title =(baseurl) => { axios({ url:'baseurl+"api/Menu/get_helloin_web_menu_listbysysmenuid"', method:'get', params:{ fatherid: 0, sysmenu_id:3, // pagesize:1, // menuid: 117, category: 0, dtstart: '2010-01-01', dtend: '2023-07-07', recyclerflag: 0, checkflag: 1, topflag: -1, hotflag: -1, newflag: -1, // PageNo: 1, PageSize: 1, orderflag: 1 } }) //获取到的天气数据保存到数据中 .then(res=>{ // this.res=res.data; console.log(res); console.log(res.data); res.data.forEach((item) => { item.smallpic = baseurl + item.smallpic }); for(i=0;res.data.category==0;i++){ res.data=+res.data } console.log(res.data); titlemo.value = res.data; // return res.data; }) .catch(error=>{//如果响应失败则调用catch方法 alert("查询失败!"); }) }; 把以上代码的baseurl传进axios里怎么写
时间: 2024-02-10 17:28:59 浏览: 77
你可以直接将baseurl拼接在axios的url参数中,像这样:
```javascript
axios({
url: baseurl + "api/Menu/get_helloin_web_menu_listbysysmenuid",
// rest of the code
})
```
这样就会将baseurl和api路径连接起来作为完整的url。
相关问题
const service = axios.create({ baseURL: apiBaseUrl, timeout: 9000, });vue2.x转化vue3.x
在Vue 2.x中,`axios` 的配置通常放在单独的模块中以便复用,如 `const service = axios.create` 的形式。而在Vue 3.x中,由于引入了Composition API或Options API,可以采用不同的方式管理这类状态。这里有几个选项:
1. **Composition API**:
使用 `ref` 和 `onMounted` 或者 `setup` 函数来初始化并订阅 Axios 实例:
```javascript
import { ref, onMounted } from 'vue';
const apiBaseUrl = "..." //你的 base URL
const service = ref(null);
const initService = async () => {
service.value = axios.create({ baseURL, timeout });
await service.value.get某种请求();
};
onMounted(initService);
```
2. **Options API** (推荐):
在 `setup` 钩子中创建 Axios 实例,并通过 `provide/inject` 或者 `ref` 传递到组件树中:
```javascript
import { createApp, provide } from 'vue';
import axios from 'axios';
const app = createApp(App);
app.config.globalProperties.$axios = axios.create({ baseURL, timeout });
// 如果需要在组件内部访问,提供给子组件
app.provide('apiService', $axios);
app.mount('#app');
```
在模板中,你可以直接使用 `$axios` 进行 API 调用。
阅读全文