
目录
npm i jquery bootstrap@4.6 popper.js -S

在main.js中引入
- import 'bootstrap/dist/js/bootstrap.js'
- import 'bootstrap/dist/css/bootstrap.css'

在根目录创建【vue.config.js】文件

- const webpack = require("webpack")
- module.exports = {
- // 配置插件参数
- configureWebpack: {
- plugins: [
- // 配置 jQuery 插件的参数
- new webpack.ProvidePlugin({
- // 引入jquery
- $: 'jquery',
- jQuery: 'jquery',
- 'window.jQuery': 'jquery',
- // 引入popper.js
- Popper: ['popper.js', 'default']
- })
- ]
- }
- }
包含技术点:

源码
- <template>
- <div id="show">
- <p>
- 编号:<input type="text" v-model="id" class="form-control" placeholder="请输入id" /> 诗名:
- <input type="text" v-model="name" class="form-control" placeholder="请输入诗名" /> 作者:
- <input type="text" v-model="worker" class="form-control" placeholder="请输入作者" /><br/> 经典词:
- <input type="text" v-model="famous" class="form-control" placeholder="请输入经典词" />
- <button v-on:click="addInfo" class="btn btn-primary">提交button>
- p>
- <hr/>
- <p><input type="text" v-model="SelectKey" placeholder="请输入搜索内容" />p>
- <hr/>
- <table class="table table-hover table-bordered" style="text-align: center">
- <tr class="info">
- <td>编号td>
- <td>诗名td>
- <td>作者td>
- <td>名句td>
- <td>操作td>
- tr>
- <tr v-for="(item,index) in newlist" :key="item">
- <td>{{item.id}}td>
- <td>{{item.name}}td>
- <td>{{item.worker}}td>
- <td><pre>{{item.famous}}pre>td>
- <td><button v-on:click="del(index)" class="btn btn-primary">删除button>td>
- tr>
- table>
- div>
- template>
-
- <script>
- export default {
- name:"demo1",
- data:function(){
- return {
- list: [{
- id: 1,
- name: "将进酒",
- worker: "李白",
- famous: "烹羊宰牛且为乐,会须一饮三百杯!"
- }, {
- id: 2,
- name: "长恨歌",
- worker: "白居易",
- famous: "回眸一笑百媚生,六宫粉黛无颜色。"
- }, {
- id: 3,
- name: "永遇乐",
- worker: "辛弃疾",
- famous: "想当年,金戈铁马,气吞万里如虎。"
- }, ],
- SelectKey: "",
- id: 0,
- name: "",
- worker: "",
- famous: ""
- }
- },
- computed: {
- newlist: function() {
- //复制一个this的分身
- var _this = this;
- return _this.list.filter(function(item) {
- console.log(item);
- return item.famous.indexOf(_this.SelectKey) != -1;
- });
- }
- },
- methods: {
- addInfo: function() {
- this.list.push({
- id: this.id,
- name: this.name,
- worker: this.worker,
- famous: this.famous
- });
- },
- del: function(index) {
- if (confirm("是否删除此条信息?")) {
- this.list.splice(index, 1);
- }
- }
- }
- }
- script>
常用样式:
table
【table-striped】【table-bordered】【table-hover】【table-condensed】
form
【form-control】【btn-primary】【btn-warning】【btn-danger】【disabled】【btn-block】
ul
【nav nav-pills水平ul】【nav-stacked垂直ul】【active选中】【badge徽章】
pre
【pre-scrollable滚动条】
- html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Documenttitle>
- <style>
- * {
- margin: 0px;
- padding: 0px;
- }
-
- body {
- overflow: hidden;
- }
-
- .myh {
- background-color: #2E6EC2;
- color: white;
- font-size: 3rem;
- height: 10vh;
- }
-
- .myc {
- background-color: #F8F1DC;
- font-size: 5rem;
- height: 85vh;
- text-align: center;
- line-height: 85vh;
- }
-
- .myf {
- background-color: #2E6EC2;
- font-size: 2rem;
- height: 5vh;
- }
- style>
- head>
-
- <body>
- <div id="app">
-
- <myheader>myheader>
- <mycontent>mycontent>
- <myfooter>myfooter>
- div>
- <script src="js/vue.js">script>
- <script>
- //创建模板
- var myh = Vue.extend({
- template: "后台管理系统"
- });
- var myc = Vue.extend({
- template: "后台管理中心内容"
- });
- var myf = Vue.extend({
- template: "版权所有:项目开发组"
- });
- //绑定组件
- Vue.component("myheader", myh);
- Vue.component("mycontent", myc);
- Vue.component("myfooter", myf);
- //加载vue
- new Vue({
- el: "#app"
- })
- script>
- body>
-
- html>
- html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Documenttitle>
- head>
-
- <body>
-
- <div id="app">
- <h1>软件1804班三好学生表h1>
-
- <threegoodstudent :newlist="list">threegoodstudent>
- div>
- <template id="good3">
- <ul>
- <li v-for="item in newlist">{{item}}li>
- ul>
- template>
-
- <script src="js/vue.js">script>
- <script>
- new Vue({
- el: "#app",
- data: {
- list: ["闫春娜", "牛龙珠", "王笑涵", "刘梓佳", "董新颖", "魏慧娟", "李鑫焱", "王航", "柴尚涛", "刘世龙"]
- },
- components: {
- "threegoodstudent": {
- props: ["newlist"],
- template: "#good3"
- }
- }
- })
- script>
- body>
-
- html>
- html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Documenttitle>
- <link rel="stylesheet" href="css/bootstrap.css">
- <script src="js/jQuery.min.js">script>
- <script src="js/bootstrap.js">script>
- head>
-
- <body>
- <div id="app">
- <h1>脑筋急转弯!h1>
-
- <menus :newlist="list">menus>
- div>
- <template id="showlist">
- <table class="table table-hover table-border">
- <tr class="info">
- <td>编号td>
- <td>问题td>
- <td>提示td>
- <td>答案td>
- tr>
- <tr v-for="item in newlist">
- <td>{{item.id}}td>
- <td>{{item.question}}td>
- <td>{{item.title}}td>
- <td>{{item.answer}}td>
- tr>
- table>
- template>
- <script src="js/vue.js">script>
- <script>
- new Vue({
- el: "#app",
- data: {
- list: [{
- id: 1,
- question: "蚂蚁牙齿的颜色",
- title: "与歌曲有关",
- answer: "o-zone中唱的,蚂蚁牙黑,蚂蚁牙红"
- }, {
- id: 2,
- question: "为什么寒假比暑假短",
- title: "物理因素",
- answer: "热胀冷缩"
- }, {
- id: 3,
- question: "最残忍的歌词",
- title: "爱",
- answer: "把你的心我的心串一串"
- }]
- },
- components: {
- "menus": {
- props: ["newlist"],
- template: "#showlist"
- }
- }
- })
- script>
- body>
-
- html>
- html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Documenttitle>
- <link rel="stylesheet" href="css/bootstrap.css">
- <script src="js/jQuery.min.js">script>
- <script src="js/bootstrap.js">script>
- head>
-
- <body>
- <div id="app">
-
- <h1>好孩子亲子系统h1>
-
- <fu-temp :showlist="list">fu-temp>
- div>
-
- <template id="fu">
- <div>
- 简介:<input type="text" v-model="SelectKey" placeholder="请输入搜索关键字"/>
- <hr/>
- <zi-temp :newlist="filterlist">zi-temp>
- div>
- template>
-
- <template id="zi">
- <div>
- <table class="table table-border table-hover" style="text-align: center">
- <tr>
- <td>编号td>
- <td>姓名td>
- <td>家长td>
- <td>简介td>
- tr>
- <tr v-for="item in newlist">
- <td>{{item.id}}td>
- <td>{{item.name}}td>
- <td>{{item.fama}}td>
- <td><pre>{{item.introduct}}pre>td>
- tr>
- table>
- div>
- template>
- <script src="js/vue.js">script>
- <script>
- new Vue({
- el: "#app",
- data: {
- list: [{
- id: 1,
- name: "李昊天",
- fama: "李鑫焱·闫紫瑞",
- introduct: "上天下地,如入无人之境,盖一世英雄俾睨天下,无敢不从者。"
- }, {
- id: 2,
- name: "李暖暖",
- fama: "李宁·贺子怡",
- introduct: "花比你,不温柔。玉比你,也含羞,风雨蝶花间四友,呆打的珂儿都歇在豆蔻梢头!"
- }, {
- id: 3,
- name: "闫崇义",
- fama: "闫岩·未知",
- introduct: "为把我国建设成富强民主文明的社会主义现代化国家而奋斗终生。"
- }, {
- id: 4,
- name: "徐雅楠",
- fama: "徐荣杨·某某某",
- introduct: "风雅卓资,形如春风,笑如桃花。眉宇间凝愁,朱唇里吟秋。"
- }, {
- id: 5,
- name: "王雨晴",
- fama: "王笑涵·暂无",
- introduct: ""
- }]
- },
- //组件
- components: {
- "fu-temp": {
- props: ["showlist"],
- data: function() {
- return {
- SelectKey: "" //用作搜索的参数
- }
- },
- template: "#fu",
- components: { //组件
- "zi-temp": {
- props: ["newlist"],
- template: "#zi"
- }
- },
- computed: {
- filterlist: function() {
- var _this = this;
- return _this.showlist.filter(function(o) {
- return o.introduct.indexOf(_this.SelectKey) != -1;
- });
- }
- }
- }
- }
- })
- script>
- body>
-
- html>
- html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Documenttitle>
- head>
-
- <body>
- <div id="app">
- <h1>三好学生h1>
-
- <good3 :newlist="list">
- <template slot="cache" slot-scope="props">
- <li>{{props.item}}li>
- template>
- good3>
- div>
- <template id="show">
- <div>
- <slot name="cache" v-for="item in newlist" :item="item">slot>
- div>
- template>
- <script src="js/vue.js">script>
- <script>
- new Vue({
- el: "#app",
- data: {
- list: ["李鑫焱", "董新颖", "刘梓佳", "王笑涵"]
- },
- components: {
- "good3": {
- props: ["newlist"],
- template: "#show"
- }
- }
- })
- script>
- body>
-
- html>