在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue 2.0 頁面中有兩個不同的組件都去用同一個組件作為子組件,有可能會出現(xiàn)相

vue 2.0 頁面中有兩個不同的組件都去用同一個組件作為子組件,有可能會出現(xiàn)相同 id 的出現(xiàn)問題

例子:
father_1 組件里面有個 <xxx></xxx> 子組件
father_2 組件里面也有個 <xxx></xxx> 子組件

子組件 <xxx></xxx>有一個標(biāo)簽上有 id = 'xxx_id'
如果不注意的話頁面上就會出現(xiàn)兩個相同標(biāo)簽的 id,請問這種情況如何避免?
謝謝大家的不吝指教。

回答
編輯回答
負(fù)我心

id是唯一的,沒了

自己想辦法用其他的東西替代,className也好


如果實在需要id,那就做成動態(tài)的,:id="getOwnerId",你兩個組件的key肯定不一樣吧,那就用key拼接一下,保證id唯一即可

2017年1月17日 04:59
編輯回答
紓惘

可以從外部傳入內(nèi)部一個id 比如<xxx :domId="xxx"></xxx>;
在外部傳入是可控制的,這樣就可以避免兩個子組件相同了的id了;
樓上說的挺好的,用ref

2018年8月22日 15:32
編輯回答
兔囡囡

如果只是單純的添加css樣式,id不唯一也可以

使用vue一般也不會使用id去做什么交互,所以懶得話可以無視,有強迫癥可以改成class,也不是多大事

2017年2月6日 07:02
編輯回答
別硬撐

用了框架之后,id基本就用不到了,也不推薦使用,因為有可能碰到你說的這種情況,如果需要訪問DOM也是用this.$el或this.$refs.XXX

<template>
    <div>
        <video id="video"/>
    </div>
<template>
<script>
...
    mounted(){
        videojs('video');
        // 或者下面這樣
        // videojs(document.getElementById('video'));
    }
...
</script>
<template>
    <div>
        <video ref="video"/>
    </div>
<template>
<script>
...
    mounted(){
        videojs(this.$refs.video);
    }
...
</script>

https://cn.vuejs.org/v2/guide...

2018年4月25日 01:34
編輯回答
晚風(fēng)眠

首先想知道,id是用了做啥用?如果是寫樣式,那么,style 添加scoped屬性即可。還是說,你的vue項目不是用腳手架搭起來的。

2018年8月22日 19:48