元数据编辑器--(坑集锦)

2023-11-05

概述
Angular中的输入输出是通过注解@Input和@Output来标识,它位于组件控制器的属性上方。
输入输出针对的对象是父子组件。我借鉴的博客地址:[https://segmentfault.com/a/1190000007890167]
1.@input

先摆出来解决办法:

tableId;//定义变量
    //点击父组件时将点击的当前表id用@input输入给子组件时,调用获取字段的方法,并将这个id传给获取字段的方法,这样获取的字段就是对应表id的字段了。 //@input父级到子级---set给这个变量赋值后 将会触发这个方法
    @Input() set selectedTableId(_tableId){
        this.getkeyListById(_tableId);  //通过id显示对应的字段界面
        this.tableId = _tableId;//**赋值取到变量**selectedTableId传递过来的id(点击的当前表的id)
    };

关键点://点击父组件时将点击的当前表id用@input输入给子组件时,调用获取字段getkeyListById的方法,并将这个id传给获取字段的方法,这样获取的字段就是对应表id的字段了。

子页面@input输入父组件的id,通过设置的方法selectedTableId变量传递这个id(因为子组件获取字段时要用到这个id)

    @Input() set selectedTableId(tableId){//这里的selectedTableId是一个变量,既不是方法也不是值
        this.getkeyListById(tableId);
    };

项目摘取
父组件:
(1)父页面(data-modeling.html)的子组件

<component-table-detail [selectedTableId]="selectedTableId"></component-table-detail>;

(2)父页面的组件:(data-modeling.ts)
定义这个input属性:

//点击表,输出表的到子组件
    selectedTableId;//定义变量
    editTable(event):void{  //点击(click事件)表传递点击表的id
        this.selectedTableId=event; //将id的值付给定义好的变量selectedTableId;
        console.log('表id',event);
    }

(3)子页面(table-detail.ts)输入(在构造器之前)从父组件传递过来的变量值:
重点在这里定义的方法selectedTableId(tableId)

 @Input() set selectedTableId(tableId){
        this.getkeyListById(tableId);  //调用这个显示字段的函数(通过表id)
    };
....

...
 //**1.通过从父组件传递过来的table---显示对应字段的方法**
    getkeyListById(tableID){  //定义显示字段的函数(传递点击表的id值)

        this.runtime.services.getkey.tableKeyById(tableID).subscribe(resp=>{
            console.log('tableKeyById',resp);
            this.tableKeys = resp.results;//获取到点击的当前表的字段的数组
        },err=>{
            console.log('没有找到您需要的值!',err);
        })

    }
2.**//保存表字段到对应的表里**
//save()
    tableKeySave(){
        let keyName=this.validateForm.controls.field_name.value;
        let keyDes=this.validateForm.controls.field_des.value;
        let keyType=this.validateForm.controls.field_type.value;
        let keyforginkey=this.validateForm.controls.field_foreginkey.value.id; //获取选择外键的id--关键
        console.log("外键表id",keyforginkey);

         console.log("this.tableId",this.tableId); //@input()通过变量**内部赋值**的方法取出来了当前点击的表id


        this.runtime.services.savekey.tableKeySave(keyName,keyDes,keyType,this.tableId,keyforginkey).subscribe(resp=>{
            console.log('tableKeySave',resp);

            this.navCtrl.push('DataModelingView');
        },err=>{
            console.log('您的输入有误,请重新输入!',err);
        })
    }

(4)子组件的模板显示:

<tr nz-tbody-tr *ngFor="let tablekey of tableKeys">
        <td nz-td>{{tablekey.name}}</td>
        <td nz-td>{{tablekey.des}}</td>
        <td nz-td>{{tablekey.genre}}</td>
        <td nz-td>Y/N</td>
    </tr>

2.@output(这里为摘抄上面的链接地址部分,因为我自己还没用过—哈哈哈哈~~~)
(1)子组件three-link.component.ts

1. 引入

import {Component, OnInit, Output, EventEmitter} from "@angular/core";

2. 定义输出变量

export class ThreeLinkComponent {
    province: string;
    // 输出一下参数
    @Output() provinceOut = new EventEmitter();   
    constructor() {
        this.province = "陕西";
    } 
}

3. 事件出发,发射变量给父组件

provinceChange() {
    // 选择省份的时候发射省份给父组件
    this.provinceOut.emit(this.province);
}

父组件模板

<!--三级联动组件-->
<three-link (provinceOut)="recPro($event)"></three-link>

父组件

// 函数接受子函数传递过来的变量, 子函数中emit的时候触发这个函数。
recPro(event) {
   this.province = event;
}

改浏览器图标,1.导入 2.将asserts/icon/favicon.ico

<link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
<link rel="shortcut icon" type="image/x-icon" href="assets/icon/favicon.ico">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

元数据编辑器--(坑集锦) 的相关文章

随机推荐

  • 腾讯云域名解析DNS免费版线路、DNS节点及TTL值说明

    腾讯云域名提供免费版DNS解析和付费版DNS解析 腾讯云百科来详细说下DNS解析DNSPod免费版解析配置说明 包括解析线路 DNS节点分布 域名防护 最低TTL等配置参数 腾讯云域名DNS解析DNSPod免费版 腾讯云域名可以免费试用DN
  • 《ANSYS FLUENT 16.0超级学习手册》——第2章 FLUENT软件介绍2.1 FLUENT软件特点简介...

    本节书摘来自异步社区 ANSYS FLUENT 16 0超级学习手册 一书中的第2章 第2 1节 作者 唐家鹏 更多章节内容可以访问云栖社区 异步社区 公众号查看 第2章 FLUENT软件介绍 CFD商业软件FLUENT是通用CFD软件包
  • mysql 浮点型详解 简书_8-MySQL数据类型

    下面正式开始mysql操作学习了 基础知识点会枯燥 会无味 会焦虑 但是相信当你熟练掌握后会无比的兴奋 因为你在见证数据给这个时代带来的伟大变革 你正在见证由数据库驱动的信息革命 可以W3C菜鸟教程中查看mysql中关于数据类型的部分 im
  • 数据库杂记

    数据库杂记 1 PostgreSQL 1 1 安装 UUID 生成扩展 1 2 根据多个字段去重 并删除重复数据 保留一条 1 3 表字段更新 1 3 1 同一张表用一个字段更新另一个字段 1 3 2 两张表关联更新 1 3 3 多张表关联
  • 图数据库突然爆火,但数字化仍然道阻且长

    短则两三年 多则五六年 图数据库市场会角逐出最终赢家 而目前许多公司都处于秣马厉兵的状态之中 数科星球 原创 作者丨科科 编辑丨十里香 图数据库的出现犹如大数据行业的一抹绿色 在日新月异的场景中 图数据库发挥了不可取代的作用 现在 该行业走
  • 前端数组对象去重的几种方法,拿来即用

    工作中有许多地方地方需要前端处理数据 总结了几种数据去重的方法都实验过 可以使用 初始数据 id有相同的需要去重 let person id 0 name 小明 id 1 name 小张 id 2 name 小李 id 3 name 小孙
  • SpringBoot2 升级到 SpringBoot3遇到的问题

    版本 JDK 11 gt 17 Gradle 6 0 gt 8 2 1 SpringBoot 2 2 gt 3 1 2 JDK升级 下载安装JDK17并修改JAVA HOME Gradle升级 下载 https services gradl
  • 用自然语言进行编程的时代真的要来了

    用自然语言进行编程的时代真的要来了 GitHub CEO托马斯 多姆克在官方博客上宣布 代码辅助工具Copilot进行重大升级 接入GPT 4 更名Copilot X 因此 原来只能帮你补全代码的它 现在通过打字聊聊天甚至语音就能 直接写代
  • python 过采样 权重实现_不平衡数据集的处理 - osc_sqq5osi1的个人空间 - OSCHINA - 中文开源技术交流社区...

    一 不平衡数据集的定义 所谓的不平衡数据集指的是数据集各个类别的样本量极不均衡 以二分类问题为例 假设正类的样本数量远大于负类的样本数量 通常情况下通常情况下把多数类样本的比例接近100 1这种情况下的数据称为不平衡数据 不平衡数据的学习即
  • 《ImageNet Classification with Deep Convolutional Neural Networks》 Alex Krizhevsky(AlexNet译文)

    原论文地址 caffe的实现 TensorFlow的实现 参考 AlexNet论文翻译与解读 alexnet 论文翻译 AlexNet论文 正文 摘要 我们训练了一个庞大的深层卷积神经网络 将ImageNet LSVRC 2010比赛中的1
  • Android应用自动更新实现方法及源代码

    Android应用自动更新实现方法及源代码 一 引言 随着移动应用的普及 保持应用程序的最新版本对于提供良好用户体验和修复漏洞非常重要 为了简化用户手动更新应用的步骤 开发者可以通过实现自动更新功能 使得应用程序能够在后台自动检查并下载最新
  • IDEA如何手动配置插件

    打开idea 点击File进入setting设置 点击plugins 点击设置按钮 这样你就会看到这样一个界面 别担心这是你的插件路径 这是idea插件下载官网https plugins jetbrains com 在这里可以随意下载插件
  • 关于Maven报错的一些解决办法(别处贴的)

    1 警告 The tag handler class for s form org apache struts2 views jsp ui FormTag was not found on the Java Build Path 这个问题终
  • 原生JavaScript实现ajax异步请求代码

    jQuery封装了JavaScript的一些常用方法 而jQuery中的 ajax get post 是比较常用的方法 也是大家最熟悉 最常用的 但是在面试时 通常面试官 会要求你手写原生ajax异步请求的代码 此时即便你的jquery学的
  • Solr删除文档数据

    使用控制台删除solr的无用数据 目前我使用了两种方式 001 登录你的solr地址 我的地址为 http localhost 8983 solr 如下图所示 上图箭头处选择你的my core 我的mycore为damsearch 002
  • [Python图像处理] 二.OpenCV+Numpy库读取与修改像素

    该系列文章是讲解Python OpenCV图像处理知识 前期主要讲解图像入门 OpenCV基础用法 中期讲解图像处理的各种算法 包括图像锐化算子 图像增强技术 图像分割等 后期结合深度学习研究图像识别 图像分类应用 希望文章对您有所帮助 如
  • 恐龙酷跑(python)

    恐龙酷跑小游戏 摘要 一 引言 二 系统结构 三 实现代码 四 运行结果 五 总结和展望 摘要 论述了Python语言中Pygame库的框架结构和一些常用的该库API 使用Python库进行2D游戏开发时需要注意的事项 以及进行2D游戏开发
  • 【Docker】Docker安装telnet

    文章目录 1 概述 1 概述 在使用docker容器时 有时候里边没有安装telnet 敲vim命令时提示说 telnet command not found 这个时候就需要安装vim 可是当你敲apt get install telnet
  • error LNK2019: 无法解析的外部符号 Netbios,该符号在函数 “unsigned char * __cdecl getMACAddress(unsigned char * cons

    我已经正确的加了库 头文件也能找到了 但是还是出现这个问题 说明还是库有问题 原因是我加入的是dcmtk库 是通信有关的 所以还需要在头文件位置加上如下的代码 pragma comment lib netapi32 lib
  • 元数据编辑器--(坑集锦)

    概述 Angular中的输入输出是通过注解 Input和 Output来标识 它位于组件控制器的属性上方 输入输出针对的对象是父子组件 我借鉴的博客地址 https segmentfault com a 1190000007890167 1