0
URL을 입력 할 때 예상대로 응답하는 애플리케이션에 라우터가 있습니다. exapmple에 대해 www.example.com # search/groupa를 입력하면 적절한 결과가 다시 나타납니다. 검색 기능에서 url을 설정하기 위해 navigate를 호출하여 사용자가 잘라내어 붙여넣고 다른 사용자에게 보낼 수 있도록 시도했습니다. "catch되지 않은 형식 오류 : 개체() 함수를있는 방법 '이동'이 없다 {(이 인수) i.apply 반환}"라우터를 사용하여 URL을 업데이트하십시오.
IEG = new Backbone.Marionette.Application();
IEG.addRegions({
searchBox: '#searchBox',
resultBox: '#resultBox',
modalBox: '#modalBox',
recipientBox: '#recipientBox',
confirmBox: '#confirmToggleActive'
});
IEG.vent = _.extend({}, Backbone.Events);
IEG.vent.on("default", function() {
var SBV = new SearchBoxView();
IEG.searchBox.show(SBV);
IEG.searchColl = new GroupEntries();
IEG.searchColl.fetch({
data: {
cmd: 0, //search groups
searchStr: null //if null show all groups
},
success: function (data) {
searchResults = new SearchResultsView({ collection: IEG.searchColl });
IEG.resultBox.show(searchResults);
}
});
});
IEG.vent.on("searchGroups", function (searchStr) {
IEG.Router.navigate("search" + searchStr); // CALLING NAVIGATE HERE
IEG.searchColl.fetch({
data: {
cmd: 0, //search groups
searchStr: searchStr
},
success: function (data) {
searchResults = new SearchResultsView({ collection: IEG.searchColl });
IEG.resultBox.show(searchResults);
}
});
});
IEG.Router = Backbone.Router.extend({
routes: {
'': 'index',
'search/:str': 'search',
'edit/:grp': 'edit'
},
index: function() {
IEG.vent.trigger("default");
},
search: function (str)
{
IEG.vent.trigger("searchGroups",str);
}
});
$(document).ready(function() {
IEG.start();
new IEG.Router;
Backbone.history.start();
});