2017-05-19 61 views
2

我試圖打電話與URL像這樣的查詢搜索:如何叫喚通過愛可信查詢在Vue公司的js

http://localhost/Stellar/public/api/companies?column=name&direction=desc&page=1

在Vue公司的js 2.0在試圖調用是這樣的:

axios.get('$(this.source)?column=$(this.query.column)&direction=$(this.query.direction)$page=$(this.query.page)') 

它出現這樣的事情

http://localhost/Stellar/public/$(this.source)?column=$(this.query.column)&direction=$(this.query.direction)$page=$(this.query.page) 

這是不便利着想處理數據。幫我解決這個問題。

謝謝。

回答

1

當你在字符串中明確寫出變量時,你並沒有引用變量。

做這樣的事情:

let source = this.source; 
let column = this.query.column; 
let direction = this.query.direction; 
let page = this.query.page; 

axios.get(source+"?column="+column+"&direction="+direction+"&page="+page); 
+0

謝謝,它的工作:) –

1

你需要使用字符串插值。它是這樣的:

let variable = 'dog'; 
 

 
let string = `This is a string using string interpolation. The variable is: ${variable}`; 
 

 
console.log(string);

它的要點是你需要與周圍``字符串和變量需要$被包裹{}。因此,對於你的榜樣,它應該使用:

axios.get(`${$(this.source)}?column=${$(this.query.column)}&direction=${$(this.query.direction)}&page=${$(this.query.page)}`); 

順便說一句,我取代了「$」符號之前頁面=',因爲它看起來像一個錯誤給我。如果不是,請注意我改變了它。

編輯:我還假設,當你使用$(this.query)等,你正在調用jQuery。您也可能錯誤地使用了字符串插值,因此需要用{}替換paranetheses。

0

有一個與愛可信請求配置更優雅的方式:

const url = "mysite.com"; 
const config = { 
    params: { 
     column: 42, 
     direction: 'up' 
    } 
} 
return axios.get(url, config) 
    .then((response) => { 
     ...