您的位置:首页技术文章
文章详情页

javascript - vue 2.0中,如果el不存在,怎样让ajax不要执行下去了

【字号: 日期:2023-05-24 17:34:25浏览:44作者:猪猪

问题描述

因为一个页面有多个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...生命周期图示

标签: JavaScript