Backbone: Aktualisiert die aktuelle Route

Ich habe festgestellt, dass die Navigationsmethode des Backbone-Routers den aktuellen Pfad nicht neu lädt.

Zum Beispiel ist die aktuelle Route/view1 und du rufst anrouter.navigate('view1',{trigger:true});. Das Routenereignis wird nicht erneut aktiviert.

Hier ist der Code, den ich teste:

<html>
<head>
    <title>Testing123</title>
    <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
    <script src="http://underscorejs.org/underscore-min.js" type="text/javascript"></script>
    <script src="http://backbonejs.org/backbone-min.js" type="text/javascript"></script>
    <style type="text/css" media="screen">
        #box{
            width:400px;
            height:400px;
            background-color:red;
        }       
    </style>
</head>
<body>
    <button id='view1'>view1</button>
    <button id='view2'>view2</button>
    <br/>
    <div id='box'>

    </div>
    <script type="text/javascript" charset="utf-8" async defer>
        var SystemRouter = Backbone.Router.extend({

          routes: {
            "view1":"view1",
            "view2":"view2"
          },

          view1: function() {
            console.log('view1');
          },

          view2: function() {
            console.log('view2');
          }

        });

        var sys = new SystemRouter();
        Backbone.history.start({pushState: true, root: "/test/routing.html#/"});
        sys.navigate('view1');

        $('#view1').click(function(){
            sys.navigate('view1',{trigger:true});
        });

        $('#view2').click(function(){
           sys.navigate('view2',{trigger:true});
        }); 
    </script>
</body>
</html>

Der obige Code wird geladen/view1 Pfad, der 'view1' ausgibt. Aber wenn Sie versuchen, auf die Schaltfläche zu klicken, um zu navigieren/view1 Pfad wird ignoriert.

Meine Frage lautet: Wie rufe ich das Routenereignis auf, wenn es dem aktuellen Pfad entspricht?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage