真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vue-父子組件和ref實例詳解

父組件向子組件傳值

10多年建站經(jīng)驗, 成都網(wǎng)站制作、網(wǎng)站設(shè)計客戶的見證與正確選擇。創(chuàng)新互聯(lián)提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

// 創(chuàng)建 Vue 實例,得到 ViewModel var vm = new Vue({ el: '#app', data: { msg: '123 啊-父組件中的數(shù)據(jù)' }, methods: {}, components: { // 結(jié)論:經(jīng)過演示,發(fā)現(xiàn),子組件中,默認(rèn)無法訪問到 父組件中的 data 上的數(shù)據(jù) 和 methods 中的方法 com1: { data() { // 注意: 子組件中的 data 數(shù)據(jù),并不是通過 父組件傳遞過來的,而是子組件自身私有的,比如: 子組件通過 Ajax ,請求回來的數(shù)據(jù),都可以放到 data 身上; // data 上的數(shù)據(jù),都是可讀可寫的; return { title: '123', content: 'qqq' } }, template: '

這是子組件 --- {{ parentmsg }}

', // 注意: 組件中的 所有 props 中的數(shù)據(jù),都是通過 父組件傳遞給子組件的 // props 中的數(shù)據(jù),都是只讀的,無法重新賦值 props: ['parentmsg'], // 把父組件傳遞過來的 parentmsg 屬性,先在 props 數(shù)組中,定義一下,這樣,才能使用這個數(shù)據(jù),只讀,寫的話會報警告 directives: {}, filters: {}, components: {}, methods: { change() { this.parentmsg = '被修改了' } } } } });

父組件向子組件傳方法

// 定義了一個字面量類型的 組件模板對象 var com2 = { template: '#tmpl', // 通過指定了一個 Id, 表示 說,要去加載 這個指定Id的 template 元素中的內(nèi)容,當(dāng)作 組件的HTML結(jié)構(gòu) data() { return { sonmsg: { name: '小頭兒子', age: 6 } } }, methods: { myclick() { // 當(dāng)點擊子組件的按鈕的時候,如何 拿到 父組件傳遞過來的 func 方法,并調(diào)用這個方法??? // emit 英文原意: 是觸發(fā),調(diào)用、發(fā)射的意思 // this.$emit('func123', 123, 456) this.$emit('func', this.sonmsg) } } } // 創(chuàng)建 Vue 實例,得到 ViewModel var vm = new Vue({ el: '#app', data: { datamsgFormSon: null }, methods: { show(data) { // console.log('調(diào)用了父組件身上的 show 方法: --- ' + data) console.log(data); this.datamsgFormSon = data } }, components: { com2 // com2: com2 } });

vue+本地存儲實現(xiàn)評論功能

難道在于理解父組件向子組件傳方法

  • 評論人: {{ item.user }} {{ item.content }}
var commentBox = { data() { return { user: '', content: '' } }, template: '#tmpl', methods: { postComment() { // 發(fā)表評論的方法 // 分析:發(fā)表評論的業(yè)務(wù)邏輯 // 1. 評論數(shù)據(jù)存到哪里去??? 存放到了 localStorage 中 localStorage.setItem('cmts', '') // 2. 先組織出一個最新的評論數(shù)據(jù)對象 // 3. 想辦法,把 第二步中,得到的評論對象,保存到 localStorage 中: // 3.1 localStorage 只支持存放字符串?dāng)?shù)據(jù), 要先調(diào)用 JSON.stringify // 3.2 在保存 最新的 評論數(shù)據(jù)之前,要先從 localStorage 獲取到之前的評論數(shù)據(jù)(string), 轉(zhuǎn)換為 一個 數(shù)組對象, 然后,把最新的評論, push 到這個數(shù)組 // 3.3 如果獲取到的 localStorage 中的 評論字符串,為空不存在, 則 可以 返回一個 '[]' 讓 JSON.parse 去轉(zhuǎn)換 // 3.4 把 最新的 評論列表數(shù)組,再次調(diào)用 JSON.stringify 轉(zhuǎn)為 數(shù)組字符串,然后調(diào)用 localStorage.setItem() var comment = { id: Date.now(), user: this.user, content: this.content } // 從 localStorage 中獲取所有的評論 var list = JSON.parse(localStorage.getItem('cmts') || '[]') list.unshift(comment) // 重新保存最新的 評論數(shù)據(jù) localStorage.setItem('cmts', JSON.stringify(list)) this.user = this.content = '' // this.loadComments() // ????? this.$emit('func') } } } // 創(chuàng)建 Vue 實例,得到 ViewModel var vm = new Vue({ el: '#app', data: { list: [ { id: Date.now(), user: '李白', content: '天生我材必有用' }, { id: Date.now(), user: '江小白', content: '勸君更盡一杯酒' }, { id: Date.now(), user: '小馬', content: '我姓馬, 風(fēng)吹草低見牛羊的馬' } ] }, beforeCreate(){ // 注意:這里不能調(diào)用 loadComments 方法,因為在執(zhí)行這個鉤子函數(shù)的時候,data 和 methods 都還沒有被初始化好 }, created(){ this.loadComments() }, methods: { loadComments() { // 從本地的 localStorage 中,加載評論列表 var list = JSON.parse(localStorage.getItem('cmts') || '[]') this.list = list } }, components: { 'cmt-box': commentBox } });

ref獲取DOM和組件

vue中如何操作DOM

 

哈哈哈, 今天天氣太好了!?。?/h4>

var login = { template: '

登錄組件

', data() { return { msg: 'son msg' } }, methods: { show() { console.log('調(diào)用了子組件的方法') } } } // 創(chuàng)建 Vue 實例,得到 ViewModel //vm中有一個屬性叫ref var vm = new Vue({ el: '#app', data: {}, methods: { getElement() { // console.log(document.getElementById('myh4').innerText) // ref 是 英文單詞 【reference】 值類型 和 引用類型 referenceError // console.log(this.$refs.myh4.innerText) console.log(this.$refs.mylogin.msg) this.$refs.mylogin.show() } }, components: { login } });

總結(jié)

以上所述是小編給大家介紹的vue-父子組件和ref實例詳解,希望對大家有所幫助!


新聞名稱:vue-父子組件和ref實例詳解
瀏覽地址:http://weahome.cn/article/ijdgoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部