У меня есть веб-приложение, в котором требуется взаимодействие всех взаимодействий. Я вижу, по крайней мере, два способа реализации просмотра страницы входа в AngularJS.
Один из них заключается в использовании отдельного представления: пусть я использую angular -ui-router и определяю представление верхнего уровня с двумя состояниями: login и панель инструментов.
myApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/login");
$stateProvider
.state('login', {
url: "/login",
templateUrl: "partials/login.html"
})
.state('mainpage', {
url: "/mainpage",
templateUrl: "partials/mainpage.html",
controller: function($scope) {
…
}
});
Во-вторых, нужно просто использовать ng-if:
<span ng-if="loggedin">
… my main page …
</span>
<span ng-if="!loggedin">
… login page …
</span>
Я вижу, что второй вариант легко позволит пользователям ссылаться на определенные разделы своих страниц, при этом автоматически открывается страница входа в систему, тогда как первый вариант потребует от меня кода для перенаправления, чтобы это произошло.
Однако по какой-то причине я чувствую, что первый вариант чище, даже если я не могу предоставить никаких разумных аргументов.
Теперь я начинаю с AngularJS, поэтому у меня недостаточно опыта, чтобы принять решение по любому из этих вариантов. Какой из них более желателен?