zoukankan      html  css  js  c++  java
  • vue前端开发。。。

    1. 官网下载 https://nodejs.org/en/

    2. 安装cnpm   在命令行:  npm install -g cnpm --registry=https://registry.npm.taobao.org

    3. cnpm install -g vue-cli   或 npm install -g @vue/cli // 安装cli3.x vue --version // 查询版本是否为3.x

    4. 在任意文件夹内创建项目工作空间,  vue init webpack my-vue-project

    5. 进入项目: cnpm install   或  npm install  安装;            cnpm list    查看依赖

    6. npm run dev   或 npm run serve

    VUE组件关系:

    在Index.html中
    <body>
    <div id=app><div>
    <ody>
    
    
    在main.js中, 初始化VUE
    new Vue({
      el: '#app',            挂载元素:  将div id=app  挂载到这
      router,
      components: { App },     组件: App.vue组件对元素操作
      template: '<app/>'         模板: 使用<app></app>中的内容 替换 <div id=app></div>中的内容
    })
    
    
    在App.vue内部, <template/>  读取  <script/> 内data()
    <template>
      <div id="app">
        <img src="./assets/logo.png">
        <router-view/>
    	<h1>{{ msg }} </h1>
      </div>
    </template>
    
    <script>
    export default {
      name: 'App'
      data(){
        return {
    	  msg : 'hello'
    	}
      }
    }
    </script>
    

      

     cnpm i -g @vue/cli

    npm run serve

    增加新页面:

    在views新建文件夹以及其.vue文件。 ->   在views/Home 中添加menu进 新页面地址。  ->   在router.js 中将页面添加进路由:import LogicInformation from '@/views/LogicInformation'。

    TODO:  页面布局

    程序上的说明:
    
    1. 在/api/ .js  构建post或get接口; 
    
    export function show_final_dimens(params) {
      return Ax.post('/show_final_dimens', params).then(res => res.data);
    }
    
    
    
    1. 在/view/ .vue中,  需要构建 <style>  <template>  <script> 三层。
    
    <style>.sqlQuery {
      height: 100%;
      display: flex;
    }
    
    
    <template>
      <div class="sqlQuery">
        <el-container>
          <el-aside width="auto">
            <el-menu
    		
    <script>
    // @ is an alias to /src
    import api from "@/api";
    export default {
      name: "sqlQuery",
      data() {
        return {
          sql: "",
          result: [],
          head: [],
          menu:[
            
          ]
        };
      },
      
      
    ################################################################################################################
    
    <el-submenu v-for="(item, index) in menu" :key="index" :index="index+''">
       
    menu 在Init方法中被赋值;  :index="" 只是页面索引。
    
    v-model="sql.content  双向绑定。 
    
    
    ################################################################################################################
    // 展示的字段
        handleSelect(key, keyPath) {
    	  this.active = key;
          this.sql = '';
          this.head = [];         // 展示的表头
          this.table = [];        
          this.head3 = [];        // 维度表的三个字段
          this.table3= [];
    	
    	
    	this.head = res[0].keys_rank.filter(e => e !== 'logic_id' && e !== 'logic_group_id');                      // 配置显示的表头
    	this.editList = res[0].modiable_field.filter(e => e !== 'update_time' && e !== 'create_time');             // 配置可编辑的字段
    	
    	this.$axios.show_final_dimens({group_id: this.menu[+this.active.split('-')[0]].group_id}).then(res => {}
    	
    	}
    	
    	resolveTable3() {
    	if(this.active.split('-')[1] === '2' || this.active.split("-")[1] === '1') return;
    	只有在第3个页面, show_middle_logic() 会携带维度表,  resolveTable3负责解析这个维度表, 并根据logic_id关联。
    	}
    
    
    	
    	addRow() 只是增加一行空白行,  配合 change(row)  将更新的内容调入接口。
    	addRow() 另一种是生成一张弹窗, 供下拉选择。    每次弹窗提交diaglog  都会调用  submit()。
    	 
    	 
    	在标签内可直接写判断:  <el-button type="primary" size="small" round @click="submitNewTable3" v-if="active.split('-')[1] !== '1'">提交+</el-button> 
    	 
    	不懂的地方:  change 在 style中的应用。 以及  @selection-change="select"  在select-change时使用select()方法记录数据。  
    
    	 1. 页面切换, 数据保留:       
    	 在/Home/index.vue中配置。
    	 
    	 <el-main>
            <keep-alive>
              <router-view include="sqlQuery"></router-view>
            </keep-alive>
          </el-main>
    	  
    	 2. 设置弹窗的窗体:
    	 <el-table
              v-if="cur === 'col' || cur === 'col_del'"
              :data="tableDialog"
              height="50vh"
              style=" 100%"
              @selection-change="select"
              key="2"
            >
    
    ################################################################################################################
    var m = [{'k':'v'}];
    增加[],  m.push({'k2':'v2'})
    0: {k: "v"}
    1: {k2: "v2"}
    
    增加{}  m[1]['new'] = 'new'
    0: {k: "v"}
    1: {k2: "v2", new: "new"}
    
    删除key,  delete m['k']
    
    
    新增列+  页面上的js代码 也会出现很多空指针问题。  
    

      

    # vue与springboot整合部署到集群

    1. 将bi.js中的url写成ip形式。

    baseURL: "http://目标地址:9092"

    编译项目
    npm run build


    2. 编写springboot读取静态资源类
    @Configuration
    public class SpringWebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    super.addResourceHandlers(registry);
    }
    }

    将dist中的文件复制到resource->static/ 目录下。


    3. 重新编译springboot时, 应先将target目录删除。

    4. 安全证书问题:
    sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


    sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    java自带的安全证书不受信任

    mysql 服务不要使用ssl连接。
    创建http认证类: ValidHostName 将其方法加上Bean注释。

  • 相关阅读:
    Ruby 操作 Mysql (2)
    有关SQL模糊查询【转载】
    vim命令行大全【转载】
    Ruby连接MySQL
    c# 操作mysql
    sublime 3 快捷键大全
    VS2010快捷键大全
    [使用Xpath对XML进行模糊查询]
    vim永久显示行号
    Ubuntu16.04LTS安装flash player
  • 原文地址:https://www.cnblogs.com/ruili07/p/10455595.html
Copyright © 2011-2022 走看看