/ / Czy w Backbone.js można ponownie załadować trasę z history.loadUrl i przekazać ciąg znaków, który będzie używany jako komunikat o powodzeniu? - javascript, backbone.js

Czy w Backbone.js można przeładować trasę za pomocą history.loadUrl i przekazać ciąg znaków, który zostanie użyty jako wiadomość powodzenia? - javascript, backbone.js

Mam problem z ustaleniem, czy można przekazać ciąg do widoku za pomocą backgone.history.loadUrl?

//My current method of reloading the view
Backbone.history.loadUrl(Backbone.history.fragment);

Jeśli to możliwe, chciałbym użyć tej metody, aby renderowała widok z routera sieci szkieletowej, a następnie renderowała mój widok od wewnątrz i przekazała go jako opcje dla tego widoku.

//Destroy old view
//Render view again
var view = new myView("success msg");

Odpowiedzi:

1 dla odpowiedzi № 1

Oto prosty sposób na rozszerzenie Backbone.history z funkcją przeładowania:

_.extend(Backbone.history, {
reload: function(){
return this.loadUrl(this.getFragment());
}
});

Nie rób tego, jeśli piszesz bibliotekę / wtyczkę.

Potem dzwonię Backbone.history.reload(); gdziekolwiek zadzwoni ponownie na trasę.

Czy to dobry sposób na ponowne renderowanie widoku? Nie.

Jeśli chcesz ponownie renderować widok w sobie, zrób to, nie ładuj ponownie całej trasy.

var View = Backbone.View.extend({
// events, etc. ...
render: function() {
// rendering
if (this.success) {
// show success message
}
return this;
},
onMyEvent: function() {
// here, a re-render with a success message is necessary
this.success = true;
this.render();
}
})