時間:2017年09月25日
項目:《金銀屋官網(wǎng)》
問題:表單樣式在 iOS 手機上不兼容
描述: 按鈕和 input 輸入框在 iOS 上有默認樣式北专,沒有去掉
時間:2017年09月25日
項目:《金銀屋官網(wǎng)》
問題:代碼意圖和邏輯沒理清楚
(function bottonm(){
if($(document).height()<$(window).height()){
$('.model-close').css({'position':'fixed','bottom':'20px'});
$(document).height($(window).height()+'px');
}
})();
$('.model-close') 是關(guān)閉彈出框表單的按鈕,不會直接顯示在頁面榄棵,這段代碼在 js 文件加載完就立即執(zhí)行肝断,沒有任何意義顷歌,反而導致 JS 報錯
時間:2017年09月25日
項目:《金銀屋官網(wǎng)》
問題:不注意代碼風格,沒有遵守編碼規(guī)范顺又;有的代碼加了分號有的沒加;不該縮進的地方有縮進伊群;同時使用了雙引號和單引號;
問題代碼 1:
success: function(resp) {
if (resp.retcode === 2000000) {
successshow.show()
event.stopPropagation()
} else {
util.Alert('提示', resp.msg)
}
},
error:function(xhr,type) {
failshow.show()
event.stopPropagation();
}
問題代碼 2 (同時使用了雙引號和單引號):
$("#applycode").on('keyup',function(e){
時間:2017年09月25日
項目:《金銀屋官網(wǎng)》
問題:提交信息寫錯策精,deploy 寫成 delply
commit 018461f1029d44543e69ce9f902d77170b1939e0
Author: MOMO-0902 <329053928@qq.com>
Date: Mon Sep 25 06:54:29 2017 +0800
修改delply以及部分樣式
時間:2017年09月25日
項目:《金銀屋官網(wǎng)》
問題:移動端line-height也不能實現(xiàn)準確垂直居中舰始,字體整體靠上
描述:移動端與pc端解析方式不一樣,導致line-height出現(xiàn)偏差
解決辦法:使用display:table解決問題
問題2:使用display:table后本來不一樣的兩個元素變的一樣高
描述:這是因為display:table是將子元素變成單元格一樣的顯示方式蛮寂,所以是等高的
解決辦法:給高度較小的盒子外邊套一層蔽午,再使用vertical-align:center 實現(xiàn)垂直居中
//父元素
.step{
display: table;
height: 20px;
}
//子元素1顯示數(shù)字
.stepnum {
display:table-cell;
vertical-align: middle;
}
//子元素2顯示文字
.stepword {
display:table-cell;
vertical-align: middle;
font-size: 14px;
}
//顯示數(shù)字易茬,是stpmnum的子元素
.number {
font-size: 12px;
height: 16px;
}
時間:2017年09月26日
項目:《金銀屋官網(wǎng)》
問題:未選擇房產(chǎn)和金額的時候點擊提交按鈕酬蹋,報錯 Cannot read property 'value' of undefined
let houseoptions = $(".select-house option").not(function(){ return !this.selected })
var house = houseoptions[0].value
這段代碼是想獲取 select選中的option,然后再獲取 option的value值抽莱,給select設(shè)置沒有默認選中項范抓,所以當沒有手動選擇一項就點提交,option的value值也是沒有的
解決辦法:使用select.val()來獲取select選中項的value值
時間:2017年09月26日
項目:《金銀屋官網(wǎng)》
問題:未正確分清select option的value和text值
描述:使用select.val()獲取 選中項的value值
option的value值是要發(fā)送到服務(wù)器的值
select.text()獲取所有option的值
option的text值是option的顯示內(nèi)容
時間:2017年09月26日
項目:9.14-9.19一周學習分享
問題:使用click與tap事件報錯
描述:由于zepto的touch.js版本過低食铐,導致引入后頁面發(fā)生事件報錯
時間:2017年09月26日
項目:9.14-9.19一周學習分享
問題1:寫ajax格式出錯
描述:$.ajax({}) 寫成了 $(ajax).({})
$(“html元素”)匕垫,$相當于Jquery,意思是選取虐呻,查詢象泵,或創(chuàng)建頁面中的一個或者一類html元素,并對它們進行操作
$.ajax({}) $.each({}) $.map({}) $作為功能函數(shù)的前綴斟叼,意為調(diào)用(.)jquery對象($)的方法(ajax), $(ajax)是利用選擇器獲取元素偶惠,所以并不能在后邊加"."
問題2:使用ajax傳送數(shù)據(jù)與接收參數(shù)類型搞錯
描述:向服務(wù)器傳送數(shù)據(jù)應(yīng)該是data,不是dataType,dataType是期待服務(wù)器返回類型,contentType是發(fā)送到服務(wù)器類型一般為"application/json"
$.ajax({
url: "http://www.baidu.com",
data: {"username":username, "password":password},
dataType: "json",
contentType: "application/json",
timeout: 3000,
content: "$("body"),
success: function() {},
error: function() {}
})
時間:2017年09月27日
項目:《wiki》寫筆記
問題:第二個##沒有h2的樣式
描述:沒有給h2下邊加一空行朗涩,導致h2跟正文樣式一樣
問題:網(wǎng)頁文檔加載后的事件不執(zhí)行
時間:2017.09
描述:第一次寫的時候丟了function忽孽,這段代碼的意思是當頁面加載完成后執(zhí)行此函數(shù)里邊的函數(shù),所以function(){}不能丟
解決辦法:
$(document).ready(function(){
function Func(){}
})
問題:使用$('option[selected]')不能獲取slection選中的option值
描述:zepto獲取select元素的選中option不能用類似jq的方法$('option[selected]'),因為selected屬性不是css的標準屬性
解決辦法:使用$('option').not(function(){ return !this.selected })
比如:jq:$this.find('option[selected]').attr('data-v') * 1
zepto:$this.find('option').not(function() {return !this.selected}).attr('data-v') * 1
但是獲取有select中含有disabled屬性的元素可以用$this.find("option:not(:disabled)")因為disabled是標準屬性
時間:2017年10月08日
項目:《錢隆歸來》
問題:使用display: inline-block后一行元素之間存在間距谢床,導致給定寬度后一行占不下擠到下一行兄一。
描述:元素間留白間距出現(xiàn)的原因是標簽段之間的空格,因此去掉html中的空格就可以去除間距识腿。
解決辦法:
<div class="investTabs tac">
<span class="investUser dib">用戶</span
><span class="investMoney dib">購買金額(元)</span
><span class="investTime dib">時間</span>
</div>
時間:2017年10月08日
項目:《錢隆歸來》
問題:使用table布局后出革,再使用border:0只能去除表格并不能去除表格以及單元格的邊框
解決辦法:給table加 cellspacing="0" cellpadding="0"
<table class="investTabs" border="0" cellspacing="0" cellpadding="0">
時間:2017年10月13日
項目:《錢隆歸來》
問題:在寫計算屬性的時候提示該屬性已被定義
描述:先在data里定義后再寫的計算機屬性,計算屬性是被處理經(jīng)過運算后的值渡讼,可以直接用在頁面中顯示中骂束,不能先定義
computed: {
rateWidth: function() {
return parseInt(`${this.data.sale_rate*100}%`)
}
},
時間:2017年10月13日
項目:《錢隆歸來》
問題:為元素寫行內(nèi)樣式時不生效
描述:未用vue重構(gòu)前费薄,行內(nèi)樣式寫法是<div style="width: 8px"></div>
用vue重構(gòu)后,此行內(nèi)樣式的值為計算屬性中處理后的值栖雾,不能用html的文本插值來顯示
解決辦法:為元素綁定自定義樣式楞抡。
1.直接引用單個的屬性值
//單位要用引號引起來
<div :style = {width: rateWidth + '%'}></div>
<div :style = {width: rateWidth + 'px'}></div>
<div :style = {width: rateWidth + 'rem'}></div>
2.綁定一個對象樣式
//此處注意樣式寫法,可以用駝峰也可以用短橫線分隔析藕,但短橫線分隔要用引號引起來
<div :style = "styleObject"></div>
data: {
styleObject: {
'background-color': '#fff';
fontSize: '12px'
}
}
問題: 驗證碼倒計時操作Props報錯
項目:《錢隆歸來》
描述: vue中父組件如果使用props向子組件傳遞數(shù)據(jù)后,一般不對props值作操作或改變,因為雖然父組件向子組件傳遞是單向數(shù)據(jù)流,但如果Props是一個數(shù)組或者對象時,共同引用同一個地址,在子組件改變props值會影響父組件的狀態(tài)
解決辦法: 在data中定義一個局部變量,用Props的值初始化它,操作這個變量,然后再在頁面中顯示出來
### js:
props: [
'btnname',
],
data (){
return {
showName: this.btnname,
}
},
function() {
this.showName = `${time}秒后重新獲取短信驗證碼`
}
### html :
<button>{showName}</button>
問題: vue路由傳遞參數(shù)時傳不過去
項目:《錢隆歸來》
描述:使用<router-link :to="{ path: '/signup', params: {userPhone: myphone}}"><u>快速注冊</u></router-link>傳遞參數(shù)錯誤召廷,應(yīng)該給router一個name,鏈接到命名路由账胧,接收params參數(shù),這是使用vue-router傳遞參數(shù)的第一種辦法
解決辦法:
//router.js
{
path: '/login',
name: 'login',
component: Login,
}
//login.tpl 實現(xiàn)從登錄頁跳轉(zhuǎn)到注冊頁把手機號傳過去,此方法要把 to 寫成 :to
<router-link :to="{ name: 'signup', params: {userPhone: myphone}}"><u>快速注冊</u></router-link>
//signup.tpl 可直接顯示此參數(shù)
{{$router.params}}
問題:注冊頁to屬性來接收路由傳遞的參數(shù)后未能正常顯示在組件中
項目:《錢隆歸來》
描述:因注冊頁是引用input組件竞慢,所以要將路由傳遞的參數(shù)通過props傳到input子組件中,而在input子組件中使用value值接收v-model傳遞的參數(shù)治泥,所以要將value顯示賦值給子組件中input中顯示的初始值myvalue.(myvalue是經(jīng)過運算的props -- value值)
解決辦法:
//signup.js
props: [
'value',
]
data() {
return {
myvalue: this.value,
}
}
問題:使用url傳遞參數(shù)的辦法來傳遞路由時筹煮,跳轉(zhuǎn)的路由不對
項目:《錢隆歸來》
描述:路由中定義參數(shù)格式錯誤,寫成了
{
path: '/signup: phone',
component: Login
}
解決辦法: 路徑中參數(shù)前應(yīng)該有"/"
{
path: '/signup/:phone',
component: Login,
}
此為使用路由傳遞參數(shù)的第二種方法居夹,登錄頁處a標簽應(yīng)為
<router-link to="/signup/18713575939">快速注冊</router-link>
問題: 直接在<router-link> :to 屬性中使用url傳遞參數(shù)時败潦,沒有傳遞變量值而是傳遞變量名了
項目:《錢隆歸來》
描述:使用<router-link :to="/signup/myphone"></router-link>,:to后邊傳遞的屬性值默認傳成了字符串准脂,顯示的是"/signup/myphone"
解決辦法:屬性值用"+"連接
<router-link to="'signup/'+myphone"></router-link>
問題: 使用url傳遞參數(shù)時劫扒,如果省略參數(shù)則找不到正確的路由
項目:《錢隆歸來》
描述:定義url時沒有在參數(shù)后邊加?狸膏,代表此參數(shù)是可省的
解決辦法:
{
path: '/login/:phone?',
component: Login,
}
問題:checkbox不能實現(xiàn)正確切換
項目:《錢隆歸來》
描述:checkbox要實現(xiàn)的功能是選中背景綠色沟饥,未選中無背景色,所以我
1.在checkbox外加了一個div湾戳,使用v-on:class="{active: isActive}"為div加背景圖(選中狀態(tài)時)贤旷,控制背景圖的顯示隱藏,使用v-model="toggle"來控制是否選中
2.把chekbox隱藏
3.可以實現(xiàn)背景圖的顯示隱藏,但并沒有綁定checkbox.
4.所以應(yīng)為checkbox添加v-model="toggle"來控制是否選中才對砾脑。
5.為checkbox添加@click事件來切換狀態(tài)
分析:
6.但因為checkbox這時已隱藏并不能實現(xiàn)成功點擊click幼驶,而且checkbox初始狀態(tài)為false
7.checkbox狀態(tài)切換就是v-model的值,v-model初始值為true才可以實現(xiàn)加載時就選中拦止,而div的背景圖也要為true才顯示
解決辦法:
為checkbox和v-model綁定同一個值县遣,實現(xiàn)選中就顯示,不選中就隱藏
而click事件就可以綁定在div上了汹族,其實實現(xiàn)的只是簡單切換功能萧求。
//chekbox
<div :class="{active: isActive}" @click="isChecked">
<input type="checkbox" v-model="isActive">
</div>
//js
data() {
return {
isActive: true,
}
},
methods: {
isChecked() {
this.isActive = !this.isActive
}
}
問題:登錄頁注冊頁設(shè)置密碼頁等頁面進行相互跳轉(zhuǎn)時,如果不帶參數(shù)顶瞒,報錯“Uncaught TypeError: Cannot read property 'length' of undefined”
項目:《錢隆歸來》
描述:因為在引用的子組件中使用了"length"屬性進行了判斷夸政,當跳轉(zhuǎn)頁面后如果沒帶參數(shù)的話,那么input的value值(路由帶過來的)就是undefined榴徐,所以應(yīng)該加上判斷守问,當value值不是undefined時再使用length屬性匀归。
解決辦法:1.使用時直接判斷當this.myvalue值不為undefined,并且長度大于0時耗帕,再顯示
if(this.myvalue !== undefined && this.myvalue.length > 0) {
this.deltoshow = true;
}
2.不使用this.value.length來判斷穆端,直接把定義文本框輸入文本的長度,如果是undefined就賦值為o
data() {
return {
valueLength: this.value === undefined ? 0: this.value.length
}
}
問題2:此操作還是有問題仿便,因為 valueLength 賦值為0后valueLength不能改變一直是0,所以圖標一直不顯示体啰,應(yīng)該要使valueLength的值實時改變,剛開始想要監(jiān)聽valueLength的值嗽仪,但沒起作用
描述:watch是給變化的數(shù)據(jù)作監(jiān)聽荒勇,但valueLength并不是變化的數(shù)據(jù),而myvalue才是變化的數(shù)據(jù)
watch: {
valueLength(value) {
this.valueLength = this.value.length
}
}
解決辦法:監(jiān)聽myvalue的值闻坚,當myvalue值發(fā)生改變時沽翔,去改變valueLength的值
watch: {
myvalue(val) {
this.$emit('input', val)
this.valueLength = this.myvalue.length
}
}
問題:所有文本框type都變成了password
項目:《錢隆歸來》
描述:判斷inut的type時如果是password就顯示可見密碼圖標和刪除圖標,但把"type == password"定成了"type = password"相當于賦值
問題: markdown不能正確解析
描述: 在<>包含的屬性兩邊沒有加``窿凤,在markdown中仅偎,使用 "&"、" <"卷玉、 ">"會被文本默認為html語句哨颂,導致尖括號本身及尖括號中的內(nèi)容都不會被顯示
解決辦法:
1.使用``代碼來標記行內(nèi)代碼
@ font-face {
` font-family: <YourWebFontName>`;
`src: <source>[<format>][,<source>[<format>]] *` ;
`[font-weight:<weight>]`;
`[font-style: <style>]`;
}
2、使用``來包含<>
@ font-face {
font-family: `<YourWebFontName>`;
src: `<source>` [<format>][,`<source>` [`<format>`]] * ;
[font-weight: `<weight>`];
[font-style: `<style>`];
}
3.使用代碼區(qū)塊```code```來包含這段代碼<activity>
```@font-face {
font-family: <YourWebFontName>;
src: <source> [<format>][,<source> [<format>]] * ;
[font-weight: <weight>];
[font-style: <style>];
}```
4.使用轉(zhuǎn)義字符,使用"<"代替"<",使用">"來替代">"
@font-face {
font-family: <YourWebFontName>;
src: <source>[<format>][,<source> [<format>]] * ;
[font-weight: <weight>>];
[font-style: <style>];
}
問題:使用git rebase 時報錯相种,再使用git checkout branch也報錯error: cannot stat filename: Permission denied
,說沒有權(quán)限
描述:可能在windows下試圖應(yīng)用一個補丁的時候阻止git修改文件品姓,也可能是編輯器鎖定了該文件
解決辦法:將編輯器寝并,命令行全部重啟