store是可有可無的,類型為Store
3n+1
3n+2
3n
放棄了,不一定新技術(shù)就要學(xué)習(xí)。graphql 適合大公司折騰,小公司個人就不要玩了。況且現(xiàn)在沒有好用的包,要自己實現(xiàn),普通的查詢還可以,如果是修改動作開發(fā)難度會越來越大,累死前后端。
發(fā)布代碼的時候選擇全量更新好像就會自動更新客戶端的app代碼.
使用微信API:wx.getUpdateManager()
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 請求完新版本信息的回調(diào)
console.log(res.hasUpdate)
})
updateManager.onUpdateReady(function () {
wx.showModal({
title: '更新提示',
content: '新版本已經(jīng)準備好,是否重啟應(yīng)用?',
success: function (res) {
if (res.confirm) {
// 新的版本已經(jīng)下載好,調(diào)用 applyUpdate 應(yīng)用新版本并重啟
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function () {
// 新的版本下載失敗
})
具體可以參考微信運行邏輯:https://developers.weixin.qq....
看你代碼 useCustom循環(huán)出來的uc不就是對象的屬性名嗎?提前配置好全部rules,直接把uc給el-form-item當作prop不行嗎?
或者也可以比較傻的直接把rules定義在循環(huán)中的el-form-item上
<el-form-item
prop="email"
label="郵箱"
:rules="[
{ required: true, message: '請輸入郵箱地址', trigger: 'blur' },
{ type: 'email', message: '請輸入正確的郵箱地址', trigger: ['blur', 'change'] }
]"
>
剛抽空按你邏輯寫了段測試代碼,是可行的,能正常驗證
template
<el-form :model="msgForm.msgShopName">
<div v-for="(uc, index) in useCustom" :key="index">
<el-form-item
:prop="uc"
:rules="[ { required: true, trigger: 'blur' } ]">
<!-- msgShopName是個對象, 通過拿到uc值 來動態(tài)渲染出input框 a框, b框, c框-->
<el-input v-model="msgForm.msgShopName[uc]" :placeholder="uc" style="margin-left: 4px; width: 200px"></el-input>
</el-form-item>
</div>
</el-form>
script
export default {
data() {
return {
useCustom: ['name', 'mobile'],
msgForm: {
msgShopName: {}
},
}
}
}prop('width')獲取的是你設(shè)置在html標簽里的width屬性值,能獲取到值的前提除了已經(jīng)給屬性width賦值(或本身有默認值,如canvas),還必須要求這個html元素天生具備這個屬性,否則獲取不到的:如div即使被設(shè)置了也獲取不到,table、td、canvas等則可以的。width()獲取的是內(nèi)容區(qū)的實際寬度,即不包含border,padding的寬度
所以,你會發(fā)現(xiàn)兩者的值不一樣。
本例中,和提問者溝通后,場景用的canvas,沒有設(shè)置屬性width,根據(jù)W3標準,Canvas的默認width是300,height是150
<router-link to="/p/c" class="j-l-t">菜單一</router-link>
引入chain方法,效果一樣,也能按需引入進來。
_.chain(arr).map().filter().take().value()https://docs.apicloud.com/Cli... 看下這個,apicloud框架,我用這個開發(fā)app,用vue做app,我還沒嘗試過,
你肯定調(diào)用的時候沒傳第二個參數(shù)唄。
()=>{}
callback(list)改成typeof callback == 'function' && callback(list)
實踐證明,是可以在同一行的.
以下為Html內(nèi)容:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
<style>
/*最外層容器,寬高400,背景灰色*/
#container {
width: 400px;
height: 400px;
background-color:gray;
}
/*方塊1,背景綠色*/
#div1 {
background-color:green;
}
/*方塊2,背景紅色*/
#div2 {
background-color: red;
}
/*兩個方塊大小相同,寬高各150*/
.same-row {
width: 150px;
height: 150px;
display:inline-block; /*注釋或放開此行可看到效果*/
}
</style>
</head>
<body>
<div id="container">
<div id="div1" class="same-row"></div>
<div id="div2" class="same-row"></div>
</div>
</body>
</html>
5個月過去了,不知道題主解決了這個問題沒有,之前也被這個問題困擾了好久,當時解決方案會導(dǎo)致選中的菜單項失去active狀態(tài),今天又搜索了一下,終于在CSDN上找到了答案。
原文鏈接:https://blog.csdn.net/qq_4069...
總結(jié)就是:在父級的那個路由(即 /video )后面加上“/” 就可以了。
在 webpack 配置中使用 DefinePlugin:
// webpack.config.js
...
plugins: [
new webpack.DefinePlugin({
VERSION: JSON.stringify('1.0.0')
})
]
在你的程序里直接就能調(diào)用 VERSION 常量了
提示是e[a]屬性未定義,具體不清楚
<div id="app">
<span v-for="item in tel">
{{newItem(item)}}
</span>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script>
const tel = ['13333333333', '13333331111', '13311112222'];
const app = new Vue({
el: '#app',
data: {
tel
},
methods:{
newItem(item){
return `${item.substring(0,3)}****${item.substring(item.length-3)}`;
}
}
})
</script>
這個其實不是vue的問題哈,只是js問題而已
我也經(jīng)常會遇到這種情況
本身一個很簡單的問題,但是放到一個不熟悉的環(huán)境,就不會辦了..
不知道為什么會這樣......
因為你沒有進到 vue項目的 目錄,你cd進去的時候,并沒有能夠進去,你沒有發(fā)現(xiàn)么?
你的npm指令是在admin目錄下執(zhí)行的。
你打開cmd,然后輸入 D:
然后在輸入 cd:項目的 地址,
應(yīng)該就可以進去了。
自己解決了,注冊表里找到 "HKEY_CLASSES_ROOT\Applications\sublime_text.exe"
將這個全部刪除就正常了
我想出兩種方案,
1、服務(wù)器端返回文件的時候,設(shè)置響應(yīng)頭,
cache-control:no-cache
貌似是這樣,告訴瀏覽器不要緩存;
2、前端控制,核心是,如何區(qū)分代碼里修改 url 導(dǎo)致的刷新和用戶的刷新,代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
let presentTime = (new Date()).getTime(),
hrefWithoutSearch = location.protocol + '//' + location.host + location.pathname;
if (localStorage.getItem('previousHref') === null) {
localStorage.setItem('previousHref', hrefWithoutSearch + "?v=" + presentTime);
localStorage.setItem('previousAccessTime', presentTime);
location.href = hrefWithoutSearch + "?v=" + presentTime;
} else {
let interval = presentTime - parseInt(localStorage.getItem('previousAccessTime'), 10);
if (interval > 2000) {
localStorage.setItem('previousAccessTime', presentTime);
location.href = hrefWithoutSearch + "?v=" + presentTime;
}
}
</script>
</body>
</html>
原理:
所以,onbeforeunload,onunload 都無法來區(qū)分,我想到的可以區(qū)分的就是,用戶的操作
我覺得比較困難,尤其是地址欄回車按鈕和地址欄旁的刷新;所以想了另外一個妥協(xié)的辦法:
頁面每次加載,都去 localStorage 里獲取上次加載的時間 previousAccessTime,和當前時間一減,得出 interval ,假設(shè)跟 3秒 比較;
后兩點是缺點,當然可以通過其他方式去優(yōu)化,比如,
1、“前面的請求還沒有處理完,后面的請求就開始處理了”,如果你需要的變量值是前面處理完之后的,那肯定是要進行異步流程控制的。
2、每一個 req 請求本身就是一個獨立的對象,并且會在其整個生命周期中傳遞,你完全可以在 req 上自定義屬性用來掛載你的數(shù)據(jù)。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。