>>112
なるほど、page.render_viewsの中で呼ぶなら >>105 のエラーは出ないのね。
page.viewsの中にViewインスタンスを入れるというfletの方法論に従うなら、以下のようにもできるのかな、よく分からないけど。

def route_change( e ):
 page.views.clear()
 root_view = ft.View( route="/", controls = [ ft.Text('root') ] )
 match page.route:
  case '/':
   page.views.append( root_view )
  case '/settings':
   page.render_views( lambda: [ root_view, SettingsView( ref = settings_view ) ] )
  case '/settings/detail':
   page.render_views( lambda: [ root_view, SettingsView( ref = settings_view ), SettingsDetailView() ] )

これで問題ないのかもよく分からないし、定番のやり方みたいなのをリファレンスに書いておいて欲しいなぁ……。