IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> jquery项目引入vue和elementui遇到的坑 -> 正文阅读

[JavaScript知识库]jquery项目引入vue和elementui遇到的坑

  1. 切记引入elementui的前提是引入vue

常见出错的情况:
一个简单的html页面或者一个非vue的项目,想要引入elementui的组件,然后引入elementui之后发现样式不起作用,很大一个原因就是没有引入vue

为方便此处CDN引入

 <!--引入 element-ui 的样式,-->
  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  <!-- 必须先引入vue,  后使用element-ui -->
  <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
  <!-- 引入element 的组件库-->
  <script src="https://unpkg.com/element-ui/lib/index.js"></script>

引入vue之后发现还是不显示样式
原因:引入vue就得有挂载 所以vue的基本“样子”得有

此处简单举个el-button的例子

 <div id="app">
 		<el-button type="primary">主要按钮</el-button>
 </div>

<script>
	var app = new Vue({
	  el: '#app',
	  data: {
	    
	  }
	})
</scipt>
  1. form标签里边自己写的按钮点击后无法调用事件

是以下这么个情况

<form>
	 <input type="text" />
	 ..............不详细写了
	 <button @click="submit()">提交</button>
</form>

点击提交按钮发现submit()方法调用不了

网上百度了半天最终原因是:
一旦写了form标签,form会有本身的提交函数,自己写的提交就调用不了

解决方法:
把form自带的提交给他关了
可以单独在<script></script>中写个函数
也可简单一点直接写在form标签里

<form onsubmit="return false;">
.....
</form>
  1. vue的methods中函数调用不了

实际场景是这样:

//代码如下
<div id="app">	
		......
 		<el-button type="primary" @click=“method2()”>主要按钮</el-button>
 </div>

<script>
	var app = new Vue({
	  el: '#app',
	  data: {
	   
	  },
	  mounted(){
	  	this.method1() 
	  },
	  methods: {
			method1(){
				axios...发了一个请求 记得如果要用axios记得引入axios
			},//不详细写具体的方法了
			method2(){
				axios...发了一个请求 记得如果要用axios记得引入axios
			}
		}
	})
</scipt>


//实际情况
method2()的axios请求一直发不出去 但是method1() 就可以
说明后端接口没问题【这是当时在排错】

原因:????欢迎大家评论区指点
大概就是this的指向这些问题吧
解决方法:

//在created里边加两行
<script>
	var app = new Vue({
	  el: '#app',
	  data: {
	   
	  },
	  created(){
         var that = this
         window.method1 = that.method1
      },
	  mounted(){
	  	this.method1() 
	  },
	  methods: {
			method1(){
				axios...发了一个请求 记得如果要用axios记得引入axios
			},//不详细写具体的方法了
			method2(){
				axios...发了一个请求 记得如果要用axios记得引入axios
			}
		}
	})
</scipt>
  1. 类似3的问题 从后端请求回来的数据赋值给this.变量 页面无法渲染请求回来的数据

实际情况

//我们想要的效果是页面渲染出我们从后端请求回来的数据,但是实际上并没有
//代码如下
<div id="app">	
		{{message}}
 </div>

<script>
	var app = new Vue({
	  el: '#app',
	  data() {
         return{
              	message:""
           }
      },
      //或者这样写也行 这不影响
      data: {
		message:""
	  }
	  mounted(){
	  	this.method1() 
	  },
	  methods: {
		method1(){
			axios.get(url.then(res => {
              this.message = res.data
            })
		}
	})
</scipt>

解决方法:

methods: {
	method1(){
		var self = this //此处this是全局
		axios.get(url.then(res => {
        	self.message = res.data //此处我们定义的self是局部
        })
 }

 

有些问题在之前用vue-cli搭建的前端项目中从来没有遇到过的,以上是基于在html文件中CDN引入vue时候遇到的问题

博客内容写的不够严谨和不够清晰的地方欢迎大家指正交流。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:43:31  更:2021-12-08 13:43:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:37:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码