我创建了一个简单的主干应用程序,效果很好。现在我需要解决一个问题,我遇到了麻烦。所以我寻求建议。
我需要在每个用户/组的基础上表示我的模型/集合只读或可编辑。
我最初的想法是,创建两个模板(阅读和编辑)及其各自的视图。(伪代码):
var appRouter = Backbone.Router.extend({
  routes: {
       '' : 'schedule',
  }
  schedule: function() {
    this.collection = new Collection();
    this.collection.fetch({success:function(resp) {
                                   if (resp.group == 'allowedToEdit')
                                     myview = new editView(this.collection);
                                   else 
                                     myview = new readView(this.collection);
                                   }});
});
这种方法最终使我不得不复制模板:
<script type="text/template" id="edit-template">
  <div class="myclass">
    <input class="fn" type="text" value="<%= (fn) != '' ? fn : 'default' %>">
  </div>
</script>
<script type="text/template" id="static-template">
  <div class="myclass">
    <div class="fn"><%= fn %></div>
  </div>
</script>
使用内联 javascript 来选择inputordiv标记会更好,还是有一个我没有想到的更好的解决方案?