首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从成员JS中的模型实例中查找关系的类名

从成员JS中的模型实例中查找关系的类名
EN

Stack Overflow用户
提问于 2018-09-12 04:06:09
回答 3查看 104关注 0票数 1

我有foo -数据模型thing的一个实例.thing.js具有以下属性:

owner: DS.belongsTo('user')

如果我有一个空所有者的foo,那么我如何检索表示所有者关系模型的值'user' (仅使用foo'owner'字符串)?

编辑:我希望允许选择关系组件处理名称与类名不同的关系。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-09-12 05:35:30

看来我能做到以下几点:

this.get('model').get('_internalModel._relationships.initializedRelationships.'+this.get('relation')+'.relationshipMeta.type')

model是一个实例,relation是关系名称的字符串,它正确地返回关系的模型。

编辑:一个更好的解决方案,不使用私人API提供的成员不和:

代码语言:javascript
运行
AI代码解释
复制
function getRelatedModelName(record, relationName){
        let ParentModelClass = record.constructor;
        let meta  = get(ParentModelClass, 'relationshipsByName').get(relationName);
        return meta.type;
      }
票数 0
EN

Stack Overflow用户

发布于 2018-09-17 21:13:56

听起来你需要做一些工作来建立你的关系。阅读指南的此页

如果正确地设置了关系,那么要获得关联的用户,您应该能够执行foo.owner。这假设用户已经出现在商店中。我建议使用Ember检查员浏览器插件来调试关系。

票数 1
EN

Stack Overflow用户

发布于 2018-09-19 00:45:07

这看起来像是typeForRelationship的用例。

在您的示例中,您应该能够执行以下操作

代码语言:javascript
运行
AI代码解释
复制
store.modelFor('thing').typeForRelationship('owner', store);

如果不喜欢这种方法,可以使用belongsTo参考API,其中使用关系中的元数据来获取类型

代码语言:javascript
运行
AI代码解释
复制
foo.belongsTo('owner').type

使用这种方法的唯一一点是,type属性可能不是公共API,并且可能(虽然不太可能)在某个时候发生更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52294774

复制
相关文章
Python中类的成员
细分类的组成成员 之前咱们讲过类大致分两块区域 class A: name = '陈松' # 第一部分:静态字段(静态变量)部分(这一部分调用了类自己本身,表示了类自己的自身属性) def __init__(self): pass def func(self): pass # 第二部分:方法部分(这一部分表示了类可以实施的方法,可以 自己或其他进行操作) 每个区域详细划分 class A:#在方法名前面带__的属于私有 compan
星陨1357
2023/03/14
9900
Python中类的成员
C++:40---继承中类成员的变化关系
一、派生类继承基类成员的规则 ①派生类继承了基类的所有数据成员与函数(不论公有成员、保护成员、私有成员) ②派生类虽然继承了基类的所有成员,但是能不能访问基类的成员还与父类成员的属性(public、protected、private)以及继承方式有关 ③类静态成员:如果基类定义了一个静态成员,那么该静态成员在整个继承体系中都存在。 该静态成员只能定义一次,派生类不能再次定义 一个类改变了静态成员的值,整个继承体系中的值都将改变 #include <iostream> using namespace::std
用户3479834
2021/02/03
5560
C++:40---继承中类成员的变化关系
【Groovy】Groovy 方法调用 ( 使用 对象名.成员名 访问 Groovy 类的成员 | 使用 对象名.‘成员名‘ 访问类的成员 | 使用 对象名[‘成员名‘] 访问类成员 )
可以使用 对象名.‘成员名’ 访问 Groovy 类的成员 , 这样写的好处是 , 不用将代码写死 , 在运行时可以自由灵活的决定要访问哪个成员 ;
韩曙亮
2023/03/30
2.4K0
【Groovy】Groovy 方法调用 ( 使用 对象名.成员名 访问 Groovy 类的成员 | 使用 对象名.‘成员名‘ 访问类的成员 | 使用 对象名[‘成员名‘] 访问类成员 )
c++中对象和类的关系_类的对象只能访问该类的私有成员
类是对于某一类对象的一个统称,类是对象的抽象化,对象是类的实例。定义一个类时,相当于定义了一个数据类型的蓝图。但实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作,就是单纯的进行了一个定义。
全栈程序员站长
2022/11/01
1.7K0
面向对象设计中类的关系
所谓的设计正是采用恰当的方式组织类关。因此谈设计我认为首先要从类之间的关系开始说起.
進无尽
2018/09/12
1.5K0
面向对象设计中类的关系
C++_类中静态成员
在C语言中曾经学习过静态变量, 其定义为经过static修饰过的变量, 其有着与整个源程序相同的生命周期, 其作用域与自动变量相同, 又分为静态全局变量和静态局部变量.
木杉乀
2021/05/06
5570
成员以其在类中声明的顺序构造
分析以下代码的输出: #include<iostream> using namespace std; class A { public: A(int j):age(j) , num(age + 1) { cout<<"age:"<<age<<",num:"<<num<<endl; } protected: int num; int age; }; void main() { A sa(15); }  运行结果:age:15 , num:2(num为一个随机数) 由于按成员在类定义中的声明
猿人谷
2018/01/17
1.5K0
Java继承类中static成员函数的重写
在java中,static成员函数是否可以被重写呢? 结论是,你可以在子类中重写一个static函数,但是这个函数并不能像正常的非static函数那样运行。 也就是说,虽然你可以定义一个重写函数,但是该函数没有多态特性。让我们测试一下: 1 class testClass1{ 2 static void SMothod(){ 3 System.out.println("static in testClass1"); 4 } 5 } 6 class testCla
老白
2018/03/19
1.7K0
python类成员变量和实例成员变量
print 'need %f hour(s)'% (distance/self.speed)
用户7886150
2020/12/20
1.4K0
Dart 中类的静态成员、类的继承、覆写父类方法
1. Dart中的静态成员 定义静态成员 非静态方法可以访问静态成员以及非静态成员 静态方法没法访问非静态成员。 2. Dart中与方法有关的操作符 ? 条件运算符 is 类型判断 as 类型转换 .
越陌度阡
2020/12/08
3.3K0
JS中Class类的详解
    在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。它可以被看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。     类实际上是个“特殊的函数”,就像你能够定义的函数表达式和函数声明一样,类语法有两个组成部分:类表达式和类声明。
全栈程序员站长
2022/09/05
4.5K0
idea中类中显示成员变量和方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147178.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/01
1.7K0
idea中类中显示成员变量和方法
【C++】继承 ⑩ ( 继承机制中的 static 静态成员 | 子类中访问父类静态成员的方法 )
子类继承父类静态成员 : 父类 ( 基类 ) 中 使用 static 关键字 定义的 静态成员变量 , 可以被所有的 子类 ( 派生类 ) 共享 ;
韩曙亮
2023/10/26
5930
【C++】继承 ⑩ ( 继承机制中的 static 静态成员 | 子类中访问父类静态成员的方法 )
UML中类与类间的关系及实现
在面向对象的程序设计中,类之间主要有六种关系:继承, 组合, 聚合,关联, 依赖,实现。C属于面向过程语言,本身的语法不支持这些关系的实现,但可通过结构体和指针来实现这些关系。
开源519
2021/11/30
1.2K0
UML中类与类间的关系及实现
C++中的空类默认包含哪些类成员函数
空类 class Empty { } 空类包含的函数(6个) class Empty { public: Empty(); // 缺省构造函数// Empty( const Empty& ); // 拷贝构造函数// ~Empty(); // 析构函数// Empty& operator=( const Empty& ); // 赋值运算符// Empty* operator&(); // 取址运算符 const Empty* operator&() const; // 取址运算符 const };
全栈程序员站长
2021/04/07
1.6K0
idea中查看某个类的继承关系
选中当前想查看的类,右键选择Diagrams(示意图),选择第一个Show Diagram UML,也可以直接快捷键Ctrl + Alt + Shift + u直接到达弹出页面选择
共饮一杯无
2022/11/24
1.3K0
idea中查看某个类的继承关系
python中类成员修饰符
在java,c#类的成员修饰符包括,公有、私有、程序集可用的、受保护的。 对于python来说,只有两个成员修饰符:公有成员,私有成员 成员修饰符是来修饰谁呢?当然是修饰成员了。那么python类的成员包括什么呢? python成员: 字段,方法,属性 每个类成员的修饰符有两种: 公有成员:内部外部都能访问 私有成员:字段前面加两个_,比如:__cc,只有自己的类内部能访问,继承的父类,子类均不能访问. 一、私有成员: 只能类自己本身成员内部可以访问 1.修饰普通字段 字段前面加__ ,该字段就变成了私有字
Python学习者
2023/03/29
3920
原生JS添加Class类名 删除类名
放在body和head其实差不多的,只不过是文档解析的时间不同。浏览器解析html是从上到下的。 如果把javascript放在head里的话,则先被解析,但这时候body还没有解析,所以$(#btn)会返回空值。如果把javascript放在head里的话,一般都会绑定一个监听,当全部的html文档解析完之后,再执行代码:
用户1349575
2022/01/25
7.6K0
Js中类的定义和继承
定义类 function Person() { // 属性 this.name = "张三" this.age = 20 // 方法 // 实例方法,需要new才能被调用 this.run = function () { console.log(this.name + "在运动") } } var per = new Person() per.run() // 静态方法无需new per.talk = function () {
明知山
2021/04/08
2.3K0
点击加载更多

相似问题

在Django中从表名中查找模型实例

12

Scala菱形程序,从类D的实例中查找类名

12

如何从类中获取JS类名,而不是从实例中获取JS类名?

11

从类名中获取类的成员

21

从类中查找类实例的名称。

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文