最近在學習餓了麼的vue專案製作的課件,課件內容給了我很大的啟發。在開發過程中,資料的單一性可以讓功能更加的安全。之前對vue的學習,更多的停留在父子單向資料繫結,當子元件資料變化時,無法直接影響到父元件。經過這段時間的學習,慢慢找到了一些資料雙向繫結的方法,稍微做了一下總結。
v-model本質上就是語法糖,具體使用方法如下:
父元件:
v-model
="isshowcode"
:code-img
="codeimg"
>
q-code
>
export
default
,data()
;}};
子元件:
>
class
="qcode-container"
v-show
="show"
>
class
="popup-header"
@click
="closepopup"
>
>
div>
template
>
自定義model名的寫法
export
default
, props:
['isshow'],
data()
;}, watch:}}
, methods:}}
;
使用預設的value的寫法
export
default},
data()
;}, watch:}}
, methods:}}
;
.sync的官方文件:sync-修飾符
父元件:
:select-type.sync
="selecttype"
:only-content.sync
="onlycontent"
>
rating-select
>
export
default
,data()
;}, watch:
,onlycontent
(value)}}
;
子元件:
>
class
="rating-select"
>
class
="rating-type border-1px"
>
class
="block positive"
:class=""
@click
="select($store.state.rating_code.all)"
>
}class
="count"
>
}span
>
span
>
class
="block positive"
:class=""
@click
="select($store.state.rating_code.positive)"
>
}class
="count"
>
}span
>
span
>
class
="block negative"
:class=""
@click
="select($store.state.rating_code.negative)"
>
}class
="count"
>
}span
>
span
>
div>
class
="switch border-1px"
>
class
="iconfont"
:class=""
@click
="togglecontent"
>i
>
class
="text"
>
只看有內容的評價span
>
div>
div>
template
>
export
default},
selecttype:},
onlycontent:
, desc:;}
}},data()
;}, watch:
,onlycontent
(value)},
computed:);
},negatives()
);}}
, methods:
,togglecontent()
}};
當父元件傳入的資料是個物件的時候,子元件對該物件的修改會直接影響到父元件。
父元件:
:food
="food"
@cart-add
="drop"
>
cart-control
>
export
default
,data()
};}}
;
子元件:
>
class
="cart-control"
>
name
="move"
>
class
="cart-decrease"
v-show
="food.count"
@click.stop.prevent
="minuscart"
>
class
="iconfont"
>i
>
div>
transition
>
class
="cart-count"
v-show
="food.count"
>
}div
>
class
="cart-increase"
@click.stop.prevent
="addcart"
>
class
="iconfont"
>i
>
div>
div>
template
>
export
default;}
}}, methods:
else
this
.$emit
('cart-add'
, event.target);}
,minuscart()
}};
Vue 自定義元件資料雙向流動
現有乙個查詢頁面 index.vue 組成架構如下 需求 在表單元件中新增乙個下拉框元件a.vue,對地區 area 進行選擇,並做到資料能雙向流動,由於提交表單是在query,而下拉框資料放在a中,因此a中下拉框資料變化要更新到父元件的表單資料中。實現 表單元件query.vue model qu...
Vue 自定義元件雙向繫結
無論在任何的語言或框架中,我們都提倡 的復用性。對於vue來說也是如此,相同的 邏輯會被封裝成元件,除了復用之外,更重要的是統一管理提高開發效率。我真就接手過乙個專案,多個頁面都會用到的列表,沒有去封裝列表元件,只要有一點改動,每個頁面都得加上。很肯定的說,沒有用元件化開發的vue專案是沒有靈魂的。...
WPF自定義控制項資料繫結 雙向繫結
自己整了乙個自定義控制項usercontrol,功能就是乙個帶拼音篩選功能的combobox,不過發現資料繫結dataset的row的一列之後可以顯示值,但是更改之後不能更改到row裡,在textbox是正常的,如下 最後更改為這樣 binding path lx,mode twoway 就可以雙向...