javascript - vue 2.0中,如果el不存在,怎樣讓ajax不要執行下去了
問題描述
因為一個頁面有多個ajax請求,或者想多個頁面調用一個js的時候,不需要用到的ajax,他也會請求數據,如何解決這個問題。beforeCreate與mounted不管用,不管<p id='el名'>存不存在,用控制臺監控,還是一樣會發出ajax請求,請大大們幫忙解惑,感激不盡
var rnotice =new Vue({ el: ’#right-notice’, data: {sites:’’}, beforeCreate: function(){var _self = this;$.ajax({ type:’GET’, url:notice, success:function(data){_self.sites = eval('(' + data +')'); }}) }});
是不是必須加個p的判斷呢?比如:
if($(’#right-notice’).length>0){ ajax....}
還有沒有更好的方法
問題解答
回答1:首先要明白一點,html是html,js是js,你的代碼new了一個Vue對象,這個對象并不會依存于right-notice這個元素,并不是這個元素不存在對象就無法實例化,需要你自己加邏輯去判斷是否存在這個元素
var rnotice =new Vue({ el: ’#right-notice’, data: {sites:’’}, beforeCreate: function(){if(document.getElementById('right-notice')) { var _self = this; $.ajax({type:’GET’,url:notice,success:function(data){ _self.sites = eval('(' + data +')');} });} }});回答2:
https://cn.vuejs.org/v2/guide...生命周期圖示
