Mobile Angular UI - Moja pierwsza aplikacja
W tym rozdziale stworzymy naszą pierwszą aplikację, która będzie działać zarówno na urządzeniach mobilnych, jak i na komputerach stacjonarnych.
Konfiguracja projektu, którą stworzyliśmy w poprzednim rozdziale, ma następującą strukturę -
uiformobile/
node_modules/
src/
package.json
index.html
Postępuj zgodnie z instrukcjami, aby zbudować prosty interfejs użytkownika za pomocą Mobile Angular UI.
Krok 1
Dodaj następujące pliki css w sekcji nagłówka html, jak pokazano poniżej -
<!-- Required for desktop -->
<link rel="stylesheet" href="/node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-hover.min.css" />
<!-- Mandatory CSS -->
<link rel="stylesheet" href="/node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-base.min.css" />
<!-- Required for desktop -->
<link rel="stylesheet" href="/node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-desktop.min.css" />
Następnie dodaj pliki js -
<script src="/node_modules/angular/angular.min.js"></script>
<script src="/node_modules/angular-route/angular-route.min.js"></script>
<script src="/node_modules/mobile-angular-ui/dist/js/mobile-angular-ui.min.js"></script>
Plik index.html będzie wyglądał następująco -
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My App</title>
<!-- Required for desktop -->
<link rel="stylesheet" href="/node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-hover.min.css" />
<!-- Mandatory CSS -->
<link rel="stylesheet" href="/node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-base.min.css" />
<!-- Required for desktop -->
<link rel="stylesheet" href="/node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-desktop.min.css" />
<script src="/node_modules/angular/angular.min.js"></script>
<script src="/node_modules/angular-route/angular-route.min.js"></script>
<script src="/node_modules/mobile-angular-ui/dist/js/mobile-angular-ui.min.js"></script>
</head>
<body>
</body>
</html>
Krok 2
Zobaczymy podstawowy układ mobilnego kątowego interfejsu użytkownika, jak poniżej -
<body ng-app="myFirstApp">
<!-- Sidebars -->
<div class="sidebar sidebar-left"><!-- ... --></div>
<div class="sidebar sidebar-right"><!-- ... --></div>
<div class="app">
<div class="navbar navbar-app navbar-absolute-top"><!-- Top Navbar --></div>
<div class="navbar navbar-app navbar-absolute-bottom"><!-- Bottom Navbar --></div>
<!-- App body -->
<div class='app-body'>
<div class='app-content'>
<ng-view></ng-view>
</div>
</div>
</div><!-- ~ .app -->
<!-- Modals and Overlays -->
<div ui-yield-to="modals"></div>
</body>
Krok 3
Stwórz js/ folder in src/ i dodaj app.js do tego.
Zdefiniuj moduł i dodaj mobilny kątowy interfejs użytkownika i trasę kątową jako zależność, jak pokazano poniżej -
<script type="text/javascript">
'ngRoute',
angular.module('myFirstApp', [
'mobile-angular-ui'
]);
</script>
Dodaj ng-app = „myFirstApp” do tagu <body> -
<body ng-app="myFirstApp">
Moduł mobile-angular-ui ma następującą listę modułów -
angular.module('mobile-angular-ui', [
'mobile-angular-ui.core.activeLinks', /* adds .active class to current links */
'mobile-angular-ui.core.fastclick', /* polyfills overflow: auto */
'mobile-angular-ui.core.sharedState', /* SharedState service and directives */
'mobile-angular-ui.core.outerClick', /* outerClick directives */
'mobile-angular-ui.components.modals', /* modals and overlays */
'mobile-angular-ui.components.switch', /* switch form input */
'mobile-angular-ui.components.sidebars', /* sidebars */
'mobile-angular-ui.components.scrollable', /* uiScrollable directives */
'mobile-angular-ui.components.capture', /* uiYieldTo and uiContentFor directives */
'mobile-angular-ui.components.navbars' /* navbars */
]);
Mobile-angular-ui.min.js zawiera wszystkie powyższe moduły rdzenia i komponentów. Możesz także załadować wymagane komponenty zgodnie z wymaganiami zamiast wczytywać cały mobile-angular-ui.min.js.
Krok 4
Dodaj kontroler do tagu body, jak pokazano poniżej -
<body ng-app="myFirstApp" ng-controller="MainController">
Krok 5
W podstawowym układzie dodaliśmy <ng-view></ng-view>, który załaduje dla nas widoki.
Zdefiniujmy trasy w app.js za pomocą ngRoute. Pliki wymagane do routingu są już dodane w sekcji głównej.
Utwórz folder home / in src /. Dodaj do niego home.html z następującymi szczegółami -
<div class="list-group text-center">
<div class="list-group-item list-group-item-home">
<h1>{{msg}}</h1>
</div>
</div>
Teraz, gdy uruchamiamy aplikację, domyślnie chcemy, aby strona home.html była wyświetlana wewnątrz <ng-view> </ng-view>.
Routing jest konfigurowany w app.config (), jak pokazano poniżej -
app.config(function($routeProvider, $locationProvider) {
$routeProvider
.when("/", {
templateUrl : "src/home/home.html"
});
$locationProvider.html5Mode({enabled:true, requireBase:false});
});
Krok 6
Dodaliśmy {{msg}} wewnątrz home.html, jak pokazano poniżej -
<div class="list-group text-center">
<div class="list-group-item list-group-item-home">
<h1>{{msg}}</h1>
</div>
</div>
Zdefiniujmy to samo w kontrolerze, jak pokazano poniżej -
app.controller('MainController', function($rootScope, $scope, $routeParams) {
$scope.msg="Welcome to Tutorialspoint!"
});
Krok 7
Teraz uruchom polecenie, aby uruchomić aplikację za pomocą poniższego polecenia -
node server.js
Krok 8
Załaduj swoją aplikację pod adresem http://localhost:3000 w przeglądarce -
W trybie mobilnym zobaczysz następujący ekran -
W trybie pulpitu zobaczysz następujący ekran -
Pozwól nam zrozumieć szczegóły każdego komponentu w Mobile Angular UI w następnych rozdziałach.
Oto ostateczny kod powyższego ekranu. Dotychczasowa struktura folderów jest następująca -
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Mobile Angular UI Demo</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimal-ui" />
<meta name="apple-mobile-web-app-status-bar-style" content="yes" />
<link rel="shortcut icon" href="/assets/img/favicon.png" type="image/x-icon" />
<link rel="stylesheet" href="node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-hover.min.css" />
<link rel="stylesheet" href="node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-base.min.css" />
<link rel="stylesheet" href="node_modules/mobile-angular-ui/dist/css/mobile-angular-ui-desktop.min.css" />
<script src="node_modules/angular/angular.min.js"></script>
<script src="node_modules/angular-route/angular-route.min.js"></script>
<script src="node_modules/mobile-angular-ui/dist/js/mobile-angular-ui.min.js"></script>
<script src="src/js/app.js"></script>
</head>
<body ng-app="myFirstApp" ng-controller="MainController">
<!-- Sidebars -->
<div class="sidebar sidebar-left"><!-- ... --></div>
<div class="sidebar sidebar-right"><!-- ... --></div>
<div class="app">
<div class="navbar navbar-app navbar-absolute-top"><!-- Top Navbar --></div>
<div class="navbar navbar-app navbar-absolute-bottom"><!-- Bottom Navbar --></div>
<!-- App body -->
<div class='app-body'>
<div class='app-content'>
<ng-view></ng-view>
</div>
</div>
</div><!-- ~ .app -->
<!-- Modals and Overlays -->
<div ui-yield-to="modals"></div>
</body>
</html>
js/app.js
/* eslint no-alert: 0 */
'use strict';
//
// Here is how to define your module
// has dependent on mobile-angular-ui
//
var app=angular.module('myFirstApp', [
'ngRoute',
'mobile-angular-ui'
]);
app.config(function($routeProvider, $locationProvider) {
$routeProvider
.when("/", {
templateUrl : "src/home/home.html"
});
$locationProvider.html5Mode({enabled:true, requireBase:false});
});
app.controller('MainController', function($rootScope, $scope, $routeParams) {
$scope.msg="Welcome to Tutorialspoint!"
});
home/home.html
<div class="list-group text-center">
<div class="list-group-item list-group-item-home">
<h1>{{msg}}</h1>
</div>
</div>