淺談element的$notify註意點
我的初衷是把element-ui的$notify通知封裝成一個組件,登錄成功後調用獲取低庫存接口,如果獲取接口的列表當中庫存大於0,則顯示這個通知,並且在文本當中提供點擊事件。
因此,首先想到的就是使用dangerouslyUseHTMLString屬性,可以插入html字符串
export default { methods: { open12() { this.$notify({ title: 'HTML 片段', dangerouslyUseHTMLString: true, message: '<strong>這是 <i id="show">HTML</i> 片段</strong>' }); } } }
但是,message裡面的html字符串其實是脫離瞭vue,例如不能用@click方法綁定事件,因此,應該用js的操作dom來綁定。
首先,我想到的是在該組件的mounted方法裡面獲取
document.querySelector('#show');
但是這樣獲取到的是null,為什麼呢?
mounted的時候是該組件模板裡面的dom掛載完畢,然而我這個組件裡面並沒有模板,隻在方法裡使用瞭this.$notify,掛載完後這個notify並不在app裡面,
role=“alert”就是該通知框,因此我們不能把它當做普通組件操作。而且,它的掛載時機有可能在該組件的mounted之後,就是mouted方法時隻是該組件掛載瞭,但是裡面的這個motify可能還沒有,因此就是null。
如果要在裡面添加js方法如綁定事件,應該要在html裡面添加監聽,但是要掌握好時機。
我這裡還是不使用notify瞭,因為notify應該是偏向於文本展示的通知類,我這裡使用notify可能就會有點不妥。
到此這篇關於淺談element的$notify註意點的文章就介紹到這瞭,更多相關element $notify內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vue使用echarts可視化組件的方法
- web面試vue自定義組件及調用方式
- JavaScript操作元素教你改變頁面內容樣式
- Vue中created和mounted使用場景分析
- Vue 使用postMessage 實現父子跨域通信