我有来自Auth0设置的入门种子,它有效,并提供以下(片段)json字符串:
{
"name": "Silvio Langereis",
"given_name": "Silvio",
"family_name": "Langereis",
"gender": "male",
...
在我的main-profile.hbs中,我有以下来自Auth0的预设代码,显示相应的项目:
<h3>{{profile.name}}</h3>
<h4>{{profile.nickname}}</h4>
然后显示完整的json字符串profile.body
。
当我想要显示{{profile.given_name}}
时,什么都没有显示出来。我对此感到有些困惑。 profile.name就在json的正上方,显示得很好。
任何人都知道这里发生了什么?我们的想法是在表格中填写已经获得的数据,以便用户可以在首次登录时完成并提交(从而制作数据库记录)。
这样可以正常工作,填写文本字段:
<div class="form-group has-feedback {{if item.isValidUserName 'has-success'}}">
<label class="col-sm-2 control-label">Gebruikersnaam*</label>
<div class="col-sm-7 col-sm-offset-1">
{{input type="text" value=profile.name class="form-control"}}
{{#if item.isValidUserName}}<span class="glyphicon glyphicon-ok form-control-feedback"></span>{{/if}}
</div>
</div>
这不是:
<div class="form-group">
<label class="col-sm-2 control-label">Voornaam*</label>
<div class="col-sm-7 col-sm-offset-1">
{{input type="text" value=profile.given_name class="form-control"}}
{{#if item.isValidFirstName}}<span class="glyphicon glyphicon-ok form-control-feedback"></span>{{/if}}
</div>
</div>
答案 0 :(得分:0)
我是个傻瓜!
在routes / user-profile.js中,json被解析并添加到localstorage对象&#39; profile&#39;。在那里,我必须声明我想要放入哪些值。
路由/用户profile.js:
import Ember from 'ember';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
export default Ember.Route.extend({
model() {
const profile = localStorage.getItem('profile');
const profileObject = JSON.parse(profile);
const model = {
name: profileObject.name,
nickname: profileObject.nickname,
pictureUrl: profileObject.picture,
email: profileObject.email,
body: profile.trim()
};
return model;
}
});
添加以下行,修复问题:given_name: profileObject.given_name,
冲洗并重复所需的值。