因为一个页面有多个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....
}
还有没有更好的方法
学习ing2017-06-26 10:57:39
首先要明白一点,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 +")");
}
});
}
}
});