Вот как мы вышли из бесконечного цикла маршрутизации и все еще использовали $state.go
вместо $location.path
if('401' !== toState.name) {
if (principal.isIdentityResolved()) authorization.authorize();
}
Может ошибаться, но я думаю, что у вас просто ошибка в вашем коде.
SmartFormViewModel SmartFormViewModel = new SmartFormViewModel("manageSettingsMain");
Должно быть:
SmartFormViewModel = new SmartFormViewModel("manageSettingsMain");
т.е. Ваш SmartFormViewModel
никогда не устанавливается . Следовательно, привязка в родительском представлении не находит его.
В дополнение к этому, лучший способ сделать это - просто вставить дочернюю виртуальную машину в визуальное дерево:
<ContentControl Content="{Binding SmartFormViewModel}"/>
И использовать DataTemplate для выполнения разрешение представления, а не "жесткое кодирование" представления в, ммм, родительском представлении.