У меня есть определения группы Flow-Router, похожие на:
var myRouteGroup = FlowRouter.group({
name: "myGroupName",
prefix: "/myPrefix",
// Using arbitrary element to pass group wide defaults
defaultGroupSettings: {item1: "value1", item2: "value2"};
});
Затем я определяю маршрут в этой группе:
myRouteGroup.route("/home",{
name: "myRoute",
triggersEnter: [ /*...*/ ],
action: function () {
// Get the arbitrary settings object from group definition
var settings = this.group.options.defaultGroupSettings;
// Override one of the settings element's value
settings.item1 = "new value";
// Render the route, and pass the modified settings
BlazeLayout.render("layoutTemplate", settings);
}
});
Проблема, которую я пытаюсь решить. Приведенный выше код перезаписывает defaultGroupSettings.item1
для всех последующих маршрутов, присоединенных к группе после вызова этого маршрута. Это как если бы локальное переопределение либо перезаписывало объект настроек группы, либо объект настроек группы не вызывался бы снова, если последующие маршруты находятся в той же группе.
Это проблема с областью данных? Или проблема в том, что Flow-Router больше не обращается к определению группы, если вызываемый новый маршрут является частью той же группы, а просто использует существующий предыдущий объект группы маршрутов? Или, может быть, что-то, о чем я не подумал.