如何在不改变视图的情况下调用骨干路由

时间:2014-05-27 08:21:31

标签: backbone.js backbone-routing

我有三条主干路线

  routes: {
                   "foo": "foo",
                   "": "foo",
                   "foo/bar": "bar",
                   "foo/baz": "baz"

            },
            foo: function () {                                                      
                var fooView = new contentCollectionView({
                    collection: collection,
                    tagName: "div",
                    className: "foo"
                });

                fooView.close();
                FOO.content.show(fooView);

            },
          bar: function(){
            this.foo();
            ...
          },
          baz: function(){
            this.foo();
            ...
          }
    });  

使用bar和baz函数我真的只想运行foo,如果当前没有显示fooView,否则他们唯一要做的就是更改一个改变foo显示方式的css类。

1 个答案:

答案 0 :(得分:0)

您可以比较网址片段

bar: function () {
  if ( Backbone.history.getFragment() !== 'foo' ) {
    this.foo();
  } else {
    // do other stuff
  }
}

如果有帮助,请告诉我