首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angular 2 前端 http 传输 model 对象及其外键的问题

如果让开发在每处地方自行处理返回数据,则开发和可能直接返回整个 deviceType 对象,而 deviceType 对象还有其它外键,从而造成 json 序列化时的级联加载,加载 N 多不需要的数据...所以要解决的问题: 避免数据级联加载,加载 N 多不需要的数据 数据缓存,已存在的无需再加载 数据引用一致,对于多个 detail 引用同一个 deviceType 外键,deviceType 应是一个对象...方案1: 开发人员在 ts 的 model 里,先配置好,那个属性,对应的外键对象是什么,可以用注解配置,或者代码配置 方案2:服务端返回的不是当前 detail 的纯 model...item:{ id:1,name:”设备1”,deviceTypeId:”123” // 一对多 childs:[1,2,3...“123”:{id:”123”,name:”设备1″} } child:{ 1:{}, 2:

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一篇文章带你了解JavaScript this关键字

    this引用全局对象在函数中。 在严格模式下,this是未定义的在事件中。 this指的是接收事件的元素像call()和apply()这样的方法,可以将其引用到任何对象。...这里user对象是所有者getName的方法。 1. 全局上下文 在全局执行上下文中(在任何函数之外),this无论是否处于严格模式下,都引用全局对象。 示例 全局对象: 访问调试在您的浏览器按F12,并选择"控制台"在调试器菜单: //在Web浏览器中,窗口对象也是全局对象: console.log(this...在浏览器窗口中,全局对象是[object Window]。 2. 函数上下文 在函数内部,this值取决于函数的调用方式。...function myFunc() { "use strict"; return this; } 因此,在严格模式下,如果执行上下文未定义它,则它将保持未定义状态。

    58740

    来自1000多个项目的10大JavaScript错误浅析

    在Chrome里读取未定义对象的属性或调用未定义对象的方法时就会发生这个错误,在Chrome开发者控制台可以很容易地重现这个错误。...我们选择React作为示例,不过在其他框架(Angular、Vue等)中也是一样的。...TypeError: ’undefined’ is not an object 在Safari里读取未定义对象的属性或调用未定义对象的方法时就会发生这个错误,在Safari开发者控制台可以很容易地重现这个错误...TypeError: Object doesn’t support property 在IE里读取未定义对象的属性或调用未定义对象的方法时就会发生这个错误,在IE开发者控制台可以很容易地重现这个错误。...如果在进行事件处理时遇到这个错误,请确保事件对象被作为参数传入到函数当中。旧浏览器(IE)提供了全局的event变量,但并不是所有的浏览器都会这样。

    6.2K80

    1000个项目中前10名的JavaScript错误介绍

    当你读取一个未定义的对象的属性或调用其方法时,这个错误会在 Chrome 中出现。 您可以很容易的在 Chrome 开发者控制台中进行测试(尝试)。...我们来看一个在真实应用程序中发生的例子:我们选择 React,但该情况也同样适用于 Angular、Vue 或任何其他框架。...2. TypeError: ‘undefined’ is not an object 这是在 Safari 中读取属性或调用未定义对象上的方法时发生的错误。...因此,在窗口对象的上下文中定义了一个传递给setTimeout()的匿名函数,该函数没有clearBoard()方法。...如果在使用事件处理系统时遇到此错误,请确保使用传入的事件对象作为参数。像 IE 这样的旧浏览器提供了一个全局变量事件,但并不是所有浏览器都支持。像 jQuery 这样的库试图规范化这种行为。

    6.2K10

    ionic3使用带图标带事件的toast

    时是没有事件回调的…… 这个时候,如果想扩展这些功能,一是修改源码,二是自己实现,然而这两种方法都比较麻烦,比较好的解决方案是利用现有的开源代码,搜索ionic的相关组件寥寥无几,这个时候转换下思路,搜索angular.../animations,动画的导入早期也是import * from ‘@angular/animations‘,只是后期把animations抽离后就变成了import * from '@angular...ngx-toastr把toasts放进自定义容器 默认toasts全局显示,如果想限定在某个div或容器里面,使得该容器不可见时不让toast干扰到其它标签,就可以利用ToastContainerModule...配置: import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core...还是会检测toastr-bs4-alert.scss里面的样式,爆出: @include border-radius($alert-border-radius);中$alert-border-radius未定义的错误

    3K20

    10 种最常见的 Javascript 错误

    当你读取一个未定义的对象的属性或调用其方法时,这个错误会在 Chrome 中出现。 您可以很容易的在 Chrome 开发者控制台中进行测试(尝试)。 ?...我们来看一个在真实应用程序中发生的例子:我们选择 React,但该情况也同样适用于 Angular、Vue 或任何其他框架。...2. TypeError: ‘undefined’ is not an object 这是在 Safari 中读取属性或调用未定义对象上的方法时发生的错误。...因此,在窗口对象的上下文中定义了一个传递给setTimeout()的匿名函数,该函数没有clearBoard()方法。...如果在使用事件处理系统时遇到此错误,请确保使用传入的事件对象作为参数。像 IE 这样的旧浏览器提供了一个全局变量事件,但并不是所有浏览器都支持。像 jQuery 这样的库试图规范化这种行为。

    6.8K80

    8-angular 要点温习-1

    data,index,array); }); 复制代码 判断 JavaScript 对象类型 angular.isArray() || 如果类型是数组 返回 true angular.isDate...isNaN($scope.myInput); angular.isObject() 如果引用的是对象返回 true angular.isString() 如果引用的是字符串返回 true angular.isUndefined...() 如果引用的未定义返回 true angular.equals(a,b) 如果两个对象相等返回 true *angular.fromJson() 反序列化 JSON 字符串 *angular.toJson...("app1", []); //自动加载 var app2 = angular.module("app2", []); //手动加载 angular.bootstrap(document.getElementById...("A2"), ['app2']); // 手动加载2 script> 复制代码 4、怎么在 angular 架构中创建编译元素 添加新的元素则需要通过编译实现,编译的目的在于让添加的脚本代码支持

    3.3K40

    浅谈HTML5单页面架构(一)——requirejs + angular + angular-route

    例如underscore这个类库,本来会有一个全局变量'_'。...otherwise就是默认路由,也就是遇到一个未定义路径的时候如何跳转。 如果没有使用requirejs,那么我们需要在路由配置前加载完全部controller。...resolve的写法比较特殊,接受的是一个key:value对象,keyName将会导入到controller中(如果controller有注明依赖)。...因为我知道,这个修改能赶在angular-route修改HTML前,也就是小把戏能凑效。 相应,看看module2怎么写: define(['angular', 'text!...,避免全局变量污染,并不提供js文件层面的加载功能; 作为逻辑模块管理,其实用requirejs的模块管理就够了,所以我觉得除了angular原生的controller、service外,我们业务相关的公用库

    3.4K20

    用Angule Cli创建Angular项目

    Angular4.0来了,更小,更快,改动少 接下来为Angular4.0准备环境和学会使用Angular cli项目 1.环境准备: 1)在开始工作之前我们必须设置好开发环境 如果你的机器上还没有安装...registry=https://registry.npm.taobao.org 然后我们可以通过node -v和cnpm -v来分别查看node和cnpm安装的版本和结果 node -v cnpm -v 2)...安装全局Angular cli cnpm install -g @angular/cli 2.创建新的项目 打开终端窗口(这里我使用的是webstorm的Terminal,也可以使用计算机自带的powershell...) ng new my-app 项目会很快创建完成,接下来你会看到 Installing packages for tooling via npm 这里如果你选这了淘宝的cnmp镜像,应该最好在安装完全局...Angular cli后设置一下,保证正常下载工具 ng set --global packageManager = cnpm 然后我们的项目就创建完成了 我们会发现在文档中有很多文件,这里参考Angular

    1.5K60

    Angular基础-搭建Angular运行环境

    这篇文章介绍了在Angular项目中进行开发环境搭建的关键步骤。包括node.js安装和配置、安装Angular CLI工具、安装angular-router、创建Angular项目等步骤。...2、环境配置 配置安装目录和缓存目录。...我们需要设置全局安装包的目录路径、设置 npm 包的缓存路径 安装目录下新建 “node_global”和 “node_cache” 文件夹 创建完毕后,使用管理员身份打开cmd命令窗口,输入: npm...config set prefix "C:\Program Files\nodejs\node_global" //设置全局安装包的目录路径 npm config set cache "C:\Program...4、测试是否安装成功 配置完成后,全局安装一个最常用的 express 模块进行测试 npm install express -g // -g代表全局安装 出现以下界面即为配置成功 5、设置npm下载源为淘宝镜像源

    18432

    10 种 JavaScript 最常见的错误

    当你读取一个未定义的对象的属性或调用其方法时,这个错误会在 Chrome 中出现。 您可以很容易的在 Chrome 开发者控制台中进行测试。 ?...我们来看一个在真实应用程序中发生的例子:我们选择 React,但该情况也同样适用于 Angular、Vue 或任何其他框架。...2、 TypeError: ‘undefined’ is not an object 这是在 Safari 中读取属性或调用未定义对象上的方法时发生的错误。...,它总是返回 undefined,我们不能获取或设置任何未定义的属性。...如果在使用 event 时遇到此错误,请确保使用传入的事件对象作为参数。像 IE 这样的旧浏览器提供了一个全局变量事件,但并不是所有浏览器都支持。

    8.6K20

    【学习笔记】JavaScript

    原生JS开发,按照ECMAScript标准(ES),浏览器支持的版本与现实开发的版本不一致,可能需要webpack进行支持 微软的TypeScript是js的超集 JS框架 jQuery(这个是库) Angular...是自己定义的很小的数) null和undefined null 空 undefined 未定义 数组 // 可以是不同类型的(Java要相同) // 为了可读性,尽量用[] let arr = [1,2,3...,'hello',null,true]; new Array(1,2,3,'hello'); console.msg(arr[0]); // 越界是未定义 对象 // 对象大括号,数组中括号 // 每个属性用...for(let i in age) { } for(let x of age) // x为具体的值(未定义的值?)...自己弄一个类, 绑定在这个唯一全局变量中, 而不去绑定在window这个全局变量中, 来降低全局命名冲突 + 和别人不冲突 jQuery的实现类似(?) - jQuery.

    4.8K20
    领券