在
build/webpack.base.config
中可以設置alias設置相應的別名,可以在導入時簡化路徑。vue-router2.0 重定向
routes [{path:'/',redirect:{'/', 'goods'}}];
不再是1.0中的.go()expected "indent", got "eos"
在寫stylus時碰到這種問題,肯定是由于編輯器使用了不一樣的縮進方式,需要進行設置即可。因為他在你的編輯器中可能是對齊了的,但是實際并沒有。寫css時布局和不可重繪的屬性寫在前面
css提供的方法
stylus mixin只可以為樣式提供函數的功能
border-1px($color)
position: relative
&:after
display: block
position: absolute
left: 0
bottom: 0
width: 100%
border-top: 1px solid $color
content: ' '
@media(-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio:1.5)
.border-1px
&::after
-webkit-transform: scaleY(0.7)
transform: scaleY(0.7)
@media(-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2)
.border-1px
&::after
-webkit-transform: scaleY(0.5)
transform: scaleY(0.5)
例如實現1像素的邊框
webpack 的相關配置在/build/webpack.base.conf.js 中進行相關的配置,例如路徑的別名等
vue-resource 引入一個第三訪異步
在使用一些異步過來的數據時,在vue中的數據要用v-bind數據,這樣在一開始不相應數據還不存在時不會報錯
取消塊間的間隔可以用父類的font-size: 0或將兩個元素之間的換行去掉
使用filter: blur()后陰影透出可以在父類使用overflow: hidden將透出陰影去掉
星級實現核心邏輯
itemClasses () {
let result = [];
let score = Math.floor(this.score * 2) / 2;
let hasDecimal = score % 1 !== 0;
let integer = Math.floor(score);
for (let i = 0; i < integer; i++) {
result.push(CLS_ON);
}
if (hasDecimal) {
result.push(CLS_HALF);
}
while (result.length < LENGTH) {
result.push(CLS_OFF);
}
return result;
}
transition標簽用來包裹需要時行動畫的內容
能過將display:table可以很好的實現垂直居中
1.0中的v-el已經和ref合并了,
v-for 中的隱式變量$index,$key已經取消,可以自己定義
click事件中的$event參數中,當$event._constructed存在時,則為自己派發的屬性
操作相關原生dom的時候要在vue.$nextTick()中進行
props 屬性
data數據
computed 計算屬性
create 組建創建時的相應操作
用了better-scroll組件的區域,在寫事件時需在初化better-scroll中加入白名單,不然事件無法生效
在vue中,要給一個新的對象設置屬性的時候,要引入Vue然后用它的set(k, v, default)方法來設置,這樣該屬性才會被動態的檢測
用transform:translate3D屬性可以用于開啟硬件加速
vue2.0中的事件用vue.$emit, vue.$on, $vue.off來派發,響應和解除(增加按鈕案例)
在小球動畫中,分別使用了x軸和y軸兩條線路來進行動畫路由,在y軸使用貝賽爾曲線,使用vue中的transition-group,綁定相應的js鉤子函數,在v-on:enter函數中一定要使用don回調函數,這樣動畫才能正常進行
vue.nextTick 在下次 DOM 更新循環結束之后執行延遲回調。在修改數據之后立即使用這個方法,獲取更新后的 DOM
屬性和方法不可重名,否則會造成引用錯誤
父組件可以調用子組件的方法,而子組件不可以調用父組件的方法
pading-top設置為100%時,會根據寬度來計算padding,所以width:100%; height: 0;padding-top: 100%會是一個正方形的盒子
@click.stop可以阻止事件冒泡和捕獲
vue2.0中props中的數據只可以父組件來改變,當子組件試圖對該屬性進行改變之后vue的編譯器會發出警告信息,我們一般不建議子組件對props中的數據進行改變,當必需時,可以用vue.$emit()方法將這個改變的事件派發出去,在你組件中進行接收并進行相應的改變
數組的filter函數可以對數據進行相應的過濾篩選
v-show是可以綁定一個函數的
*給數字加上空字符串是為了將其轉換為字符串
better-scroll依賴于文檔,所以最好在ready中對其進行初始化
在初始時要對文檔中的內容進行引用,最好放在vue.$nextTick()中進行,這樣可以保證該引用已經存在于文檔流中
在better-scroll中如果出現有底部內容無法自然顯現,需要在該element中找到隨后加載的內容并給定其高度
Object.assign({},{},{})可以用來擴展對象,類似_extend();
keep-alive屬性的使用