У меня есть шаблон users
, который представляет собой таблицу пользователей. Под этой таблицей есть ссылка для создания нового пользователя. Для лучшего UX я хотел бы отключить его, используя class="disabled"
или скрыть эту ссылку во время создания нового пользователя. Каков наилучший способ сделать это?Спрятать ссылку во время users.new
index.html
<script type="text/x-handlebars" data-template-name="users">
<div class='row'>
<div class='span7'>
<table class='table table-striped'>
<tbody>
{{#each model itemController="user"}}
<tr {{bindAttr class="isDirty:warning"}}>
<td>{{lastName}}</td>
</tr>
{{/each}}
</tbody>
</table>
<p>
{{#linkTo 'users.new' classNames="btn btn-small"}}Create a new user{{/linkTo}}
</p>
</div>
<div class='span5'>
{{outlet}}
</div>
</div>
</script>
<script type="text/x-handlebars" data-template-name="users/new">
<p><strong>Last name</strong><br>{{view Ember.TextField valueBinding=lastName}}</p>
<p>
{{#if isDirty}}
<button {{action 'save' this}} class="btn btn-small">Save</button>
{{else}}
<button class="btn btn-small disabled">Save</button>
{{/if}}
</p>
</script>
app.js
App.UsersRoute = Ember.Route.extend({
model: function() {
return App.User.find();
}
});
App.UsersNewRoute = Ember.Route.extend({
model: function() {
return App.User.createRecord();
},
renderTemplate: function() {
this.render({ into: 'users' });
}
});
App.UsersNewController = Ember.ObjectController.extend({
save: function(model) {
model.get('transaction').commit();
App.Router.router.transitionTo('users.index')
}
});
Как я могу использовать проверку 'isNew' в шаблоне' users', когда модель определена в 'users.new'? – wintermeyer
Спасибо! Я надеялся на версию «меньше кода», но она работает как charme. – wintermeyer
Возможно, есть более сжатая версия, но я не помню ее ... –