首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模型绑定中的角/风- camelCasing

模型绑定中的角/风- camelCasing
EN

Stack Overflow用户
提问于 2013-12-20 12:08:26
回答 1查看 243关注 0票数 0

我刚刚开始学习棱角,并一直在与约翰爸爸的课程的Pluralsight,试图让我的头绕它。我有一个问题,把一些数据绑定到一个页面,结果是一个不正确的大小写。

我有:

代码语言:javascript
复制
 <small>{{s.timeslot.name}}</small> at <small>{{s.room.name}}</small>

当我应该:

代码语言:javascript
复制
 <small>{{s.timeSlot.name}}</small> at <small>{{s.room.name}}</small>

很好,但我只是不明白为什么。

此方法从Web返回数据(注意,时隙中没有camelcase ):

代码语言:javascript
复制
    [HttpGet]
    public object Lookups()
    {
        var rooms = _repository.Rooms;
        var tracks = _repository.Tracks;
        var timeslots = _repository.TimeSlots;
        return new { rooms, tracks, timeslots };
    }

名为datacontext.js的角服务具有以下对象,可在Web名称和Breeze实体名称之间映射(至少据我理解)。

代码语言:javascript
复制
    var entityNames = {
        attendee: 'Person',
        person: 'Person',
        speaker: 'Person',
        session: 'Session',
        room: 'Room',
        track: 'Track',
        timeslot: 'TimeSlot'
    }

还有一些更多的功能涉及缓存数据,并在客户机上扩展模型,但是没有任何地方引用timeSlot (使用camelCase)。

这里发生了什么,HTML大小写是由角强制的吗?

编辑:感谢沃德的回答。对于任何在同一课程中有类似问题的人来说,breeze.NamingConvention.camelCase.setAsDefault()在entityManagerFactory.js中被称为。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-20 22:04:39

问题是"TimeSlot“在不同地方的拼写有点”粗俗“。

绑定到"s“是与Session类型的绑定。Session类型本身指示其任何导航属性的拼写。其他一切都无关紧要。

Session的元数据是基于C#“会话”类在服务器上生成的。在那里,您会发现导航属性拼写为"TimeSlot“。

您的客户正在使用Breeze NamingConvention.camelCase在JavaScript应用程序中在首选的C#和首选camelCasing之间进行转换。因此,在Breeze客户机上,您应该期望"timeSlot“导航属性成为"TimeSlot”。

实体名称不是由NamingConvention翻译的(此时)。C#类型"TimeSlot“也拼写为JavaScript类型的"TimeSlot”。

任何其他地方的其他拼写都与此绑定无关。

您可能会发现"查询结果调试“文档主题很有帮助。

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

https://stackoverflow.com/questions/20703338

复制
相关文章

相似问题

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