首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查ember模型是否有密钥

如何检查ember模型是否有密钥
EN

Stack Overflow用户
提问于 2017-03-27 21:33:44
回答 1查看 1.7K关注 0票数 2

我一直在使用ember数据,但我从来没有遇到过检查模型中是否有关键存在的情况。通常,我检查模型中的密钥是否存在值,如

代码语言:javascript
运行
复制
if(model.get('keyname')) {
  console.log('value present')
}

但是现在我想检查一下模型对象中是否存在密钥。任何帮助都将不胜感激。

忘了在这里提到-这里的模型是嵌入式记录,我在我的项目中没有一个嵌入式记录的模型文件(我是为嵌入式记录自动生成模型)。因此,我无法使用属性或字段。

EN

回答 1

Stack Overflow用户

发布于 2017-03-27 22:57:28

您可以使用属性字段

比如说app/model/Person.js

代码语言:javascript
运行
复制
   import Model from "ember-data/model";
   import attr from "ember-data/attr";
   import { belongsTo, hasMany } from "ember-data/relationships";
   export default Model.extend({
      firstName: attr('string'),
      relations: hasMany('person'),
    });

属性

一个映射,其键是模型的属性(由DS.attr描述的属性),其值是该属性的元对象。

代码语言:javascript
运行
复制
   import Ember from 'ember';
   import Person from 'app/models/person';
   let attributes = Ember.get(Person, 'attributes')
   attributes.forEach(function(meta, name) {
      console.log(name, meta);
    });

输出:

代码语言:javascript
运行
复制
firstName {type: "string", isAttribute: true, options: Object, parentType: function, name: "firstName"}

字段

一个映射,其键是模型的字段,其值是描述字段类型的字符串。模型的字段是其所有属性和关系的统一体。

代码语言:javascript
运行
复制
import Ember from 'ember';
   import Person from 'app/models/person';
   let attributes = Ember.get(Person, 'fields')
   attributes.forEach(function(meta, name) {
      console.log(name, meta);
    });

产出:

代码语言:javascript
运行
复制
lastName attribute
users hasMany
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43056839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档