2015-10-07 12 views
2

Не могли бы вы рассказать мне, как перемещаться с одной страницы на другую страницу в позвоночнике. Я хочу показать второй HTML на кнопку мыши, как можноКак переместить один вид на другой вид?

мне так нравится, что .I резисторного событие, как тот

events: { 
     'click #click':'moveTonext' 
     }, 

     moveTonext: function(){ 
      alert('---') 
     }, 

Я делаю вторую страницу как тот

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'text!templates/second.html' 
], function ($, _, Backbone, statsTemplate) { 
    'use strict'; 

    var secondView = Backbone.View.extend({ 

     // Instead of generating a new element, bind to the existing skeleton of 
     // the App already present in the HTML. 
     el: '#todoapp', 

     // Compile our stats template 
     template: _.template(statsTemplate), 

     // Delegated events for creating new items, and clearing completed ones. 
     events: { 

     }, 



     // At initialization we bind to the relevant events on the `Todos` 
     // collection, when items are added or changed. Kick things off by 
     // loading any preexisting todos that might be saved in *localStorage*. 
     initialize: function() { 
      this.render(); 
     }, 

     serialize: function() { 
      return { 
      message: 'world' 
      }; 
     }, 

     // Re-rendering the App just means refreshing the statistics -- the rest 
     // of the app doesn't change. 
     render: function() { 
      this.$el.html(this.template()); 
     } 
     // Add a single todo item to the list by creating a view for it, and 
     // appending its element to the `<ul>`. 



    }); 

    return secondView; 

}) 

Второй HTML

<h1>second</h1> 

вот мой plunker http://plnkr.co/edit/fCXwSrroJP1l6BppjpmD?p=preview

ответ

0

В основном ваша кнопка должна вызвать навигацию, поэтому click обработчик должен выглядеть следующим образом:

moveToNext: function() { 
    router.navigate("other/path", { trigger: true }); 
} 

Затем в вашем router коде, вам нужно добавить обработчик маршрута для указанного выше пути:

routes: { 
    "other/path": "handleOtherPath" 
}, 

handleOtherPath: function() { 
    new SecondView(); 
} 

Это относится к случаю, когда SecondView следует заменить FirstView. Если он должен быть добавлен вместо следующий механизм может быть использован:

moveToNext: function() { 
    new SecondView({ el: this.$(secondViewContainerSelector) }); 
} 

Вот рабочий Plunker sample.

+0

не могли бы вы предоставить plunker .. – user944513

+0

просьба предоставить плункер или редактировать плункер – user944513

+0

@ user944513 Я обновил ответ, включив ссылку на Plunker. – Dethariel

 Смежные вопросы

  • Нет связанных вопросов^_^