封裝一個可以取消的api class
1.把所有的請求根據(jù)http方法封裝一次(get,post,put,delete)
2.
class ApiWithCancel {
get = (url, params) => {
//get為自己封裝的方法, 一下的post, put, del同理
return this.makeCancelAble(get(url, params));
}
post = (url, params) => {
return this.makeCancelAble(post(url, params));
}
put = (url, params) => {
return this.makeCancelAble(put(url, params));
}
delete = (url, params) => {
return this.makeCancelAble(fectchDel(url, params));
}
makeCancelAble = (promise) => {
return new Promise(( resolve ) =>
promise.then(val => !this.hasCanceled && resolve(val))
);
}
cancel = () => {
this.hasCanceled = true;
}
}
3.在用到的組件里的constructor里,new一個這個class實例
this.api = new ApiWithCancel();
4.用的時候
const res = await this.api.get(url,params);
5.在組件卸載的時候取消
this.api.cancel()
注:代碼可能不能直接用,因為里面有封裝的,但是意思是這個意思,封裝成一個class,每次new一下就可以了。另外數(shù)據(jù)放在redux里也可以避免這種報警,但是這前提是你的這些數(shù)據(jù)或者動作是應該放在redux里的。
測試服務器上接口是正常的么?
mounted:function(){
http.get('user/detail').then(function(res) {
if (res.email == "") {
this.emailDis = false;
}
});
}
本地正常 ,測試環(huán)境有問題。說明是這里的沒有走通 ,接口報錯了,
你console.log(res)看一下,res.email 有么
data{
return {
emailDis:true,
sideForm:{
email:''
}
}
}
初始值的時候最好是 key:value 的形式,沒有value就用 ""
謝邀.
首先,不可能存在你說的 數(shù)據(jù)不確定的情況
在你即將畫圖的瞬間 你一定已經(jīng)得到確切的數(shù)據(jù)
問題可轉(zhuǎn)化為如何找到最大值
假設(shè)從接口得到的數(shù)據(jù)類似
const res = {
code:0,
message:"success",
data:[
// 0號位時間戳,1號位為值
[1533698210801,20],
[1533698212822,30],
[1533698230844,10],
[1533698233901,50],
[1533698236780,20],
]
};
// 先整理出一個一維數(shù)組
const values = res.data.map(([,v])=>v);
// 取出最大值
const max = Math.max(...values);
// 拿著最大值稍微往上按百分比再加一點去設(shè)置你的圖表option,略去
你寫成
max: function(value) {
/*往上預留20%*/
return value.max * 1.2;
}
不就好了
你可以理解成把state
跟action
都結(jié)構(gòu)到一個新對象里,實現(xiàn)了對象合并的功能,注意是淺拷貝
,不得不說這個特性超好用
沒有很好的辦法,只能通過js去控制
請檢查是否是按需引入的iview.
如果是,請改為全家桶引入。
目前我也在找更優(yōu)雅的解決辦法。
走在路上,突然想到了這是什么問題。。
var oScript = document.createElement("script");
oScript.src = 'http://suggestion.baidu.com/su?wd=' + this.value + '&cb=solve';
document.body.appendChild(oScript);
script在標簽插入DOM中才向baidu請求數(shù)據(jù),請求到數(shù)據(jù),會調(diào)用solve回調(diào)函數(shù),但當前全局作用域中沒有solve函數(shù),所以會執(zhí)行失敗。。
第二次被邀請,所以去查了一下文檔,文檔里沒有說 confirm()
會返回 Promise 對象,所以自然不能用 .then()
只能用回調(diào)。
所以題主為什么不自己去看下文檔呢?你都選擇用這個組件庫了,好好看下文檔不行么?
如果你希望用 Promise 的方式,可以自己封裝一下,并且去這個 issue里表態(tài)。
export const myConfirm(options) {
return new Promise((resolve, reject) => {
Vue.$vux.confirm({
...options,
onConfirm() {
resolve();
},
onCancel() {
reject();
},
});
});
}
lsof -i:端口號 先確認服務開啟。
如果是node往下看 沒有的話是沒開成功 有服務但是沒node 記住 pid sudo kill -9 pid
然后嘗試訪問0.0.0.0或127.0.0.1
如果ok 是你host的問題
如果不ok 就繼續(xù)等回復。
我覺得你的this出問題了,傳入的時候的this可能還是vue的,但是后來的未必還是了,建議先var _this = this;試試
另外你的賦值在一個回調(diào)函數(shù)里去執(zhí)行的,你在外面去獲取有可能賦值還沒有完成呢
1,首先全局引用釘釘?shù)?dingtalk.js
文件
<!-- 釘釘-->
<script src="http://g.alicdn.com/dingding/open-develop/1.6.9/dingtalk.js"></script>
2,然后,這個 api
方法是需要鑒權(quán)的,JSAPI權(quán)限驗證配置,樓主是不是沒有經(jīng)過 dd.config
配置
只有通過setState方法去修改state。相應的dom數(shù)據(jù)就會發(fā)生改變。
@media only screen and (device-width:1920px){
愛的點點滴滴
}
下面通過Object.defineProperty做的一個簡單實現(xiàn),供你參考:
var obj = {
rollback:function(){
if(this['old_value'])
this.value = this['old_value'];
},
save:function(){
delete this['old_value'];
}
}
Object.defineProperty(obj, "name",{
set:function(newVal){
this['old_value'] = this.value;
this.value = newVal;
},
get:function(){
return this.value;
}
})
obj.name="abc";
console.log(obj.name) //輸出abc
obj.name="123";
console.log(obj.name) //輸出123
obj.rollback()
console.log(obj.name) //輸出abc
obj.name="def";
console.log(obj.name) //輸出def
obj.save()
console.log(obj.name) //輸出def
將會輸出
abc
123
abc
def
def
已經(jīng)解決問題,應該直接使用mongoose的鏈式操作進行查詢
title在源碼里面是寫死的,沒有porps可以傳,建議將data進行深度處理一下,將你的name賦值一個title屬性
location.origin
剛看錯了。其實就是你自定義一個函數(shù)去檢測參數(shù)。下面這個的意思就是,,傳入的data必須有name和age這兩個屬性。
function Person(name, age) {
this.name = name
this.age = age
}
props:{
data:{
type: Person,
required: true,
default: 1
}
}
this
就是調(diào)用的時候點.
前面的那個,誰調(diào)用的誰就是this
沒有點就是window
你這個 obj.d()
所以調(diào)用的d
里面 this
是obj
,這時候可以this.c()
調(diào)用c
這時候c
的this
就是obj
在d
里面 因為對obj.c
做了賦值操作 所以調(diào)用f
前面沒有點 所以f
里的this
是window
這個17可能是定時器的id值:從0開始,依次遞增
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務機構(gòu),發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。