[Angular-Scaled web] 3. Basic State with ui-router

1. Install ui-route, include js file in html and add dependence in js file.

bower install angular-ui-router
<script src="bower_components/angular-route/angular-route.min.js"></script>
angular.module('Eggly', [
    'ui.router',
    'categories',
    'categories.bookmarks'
])

 

2. Add config() to the app, inject with $stateProvider.

复制代码
angular.module('Eggly', [
    'ui.router',
    'categories',
    'categories.bookmarks'
])

    //inject the stateProvider
    .config(function($stateProvider){
        $stateProvider
            .state('eggly', {
                url:'/',   //point to the root url
                templateUrl: 'app/categories/categories.tmpl.html',
                controller: 'MainCtrl'
            })
        ;
    })
复制代码

 

3. add ui-view directive to the html

        <div class="container-fluid" ui-view>

        </div>

 

4. Add content to the 

categories.tmpl.html
复制代码
<div class="row">
    <div class="col-sm-3 col-md-2 sidebar">
        <a ng-click="setCurrentCategory(null)"><img class="logo" src="assets/img/eggly-logo.png"></a>
        <ul class="nav nav-sidebar">
            <li ng-repeat="category in categories" ng-class="{'active':isCurrentCategory(category)}">
                <a ng-click="setCurrentCategory(category)">
                    {{category.name}}
                </a>
            </li>
        </ul>
    </div>
    <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
        <div ng-class="{active: isSelectedBookmark(bookmark.id)}"  ng-repeat="bookmark in bookmarks | filter:{category:currentCategory.name}">
            <button type="button" class="close" ng-click="deleteBookmark(bookmark)">&times;</button>
            <button type="button" class="btn btn-link" ng-click="setEditedBookmark(bookmark);startEditing();" ><span class="glyphicon glyphicon-pencil"></span>
            </button>
            <a href="{{bookmark.url}}" target="_blank">{{bookmark.title}}</a>
        </div>
        <hr/>
        <!-- CREATING -->
        <div ng-if="shouldShowCreating()">
            <button type="button" class="btn btn-link" ng-click="startCreating()">
                <span class="glyphicon glyphicon-plus"></span>
                Create Bookmark
            </button>
            <form class="create-form" ng-show="isCreating" role="form" ng-submit="createBookmark(newBookmark)" novalidate>
                <div class="form-group">
                    <label for="newBookmarkTitle">Bookmark Title</label>
                    <input type="text" class="form-control" id="newBookmarkTitle" ng-model="newBookmark.title" placeholder="Enter title">
                </div>
                <div class="form-group">
                    <label for="newBookmarkURL">Bookmark URL</label>
                    <input type="text" class="form-control" id="newBookmarkURL" ng-model="newBookmark.url" placeholder="Enter URL">
                </div>
                <button type="submit" class="btn btn-info btn-lg">Create</button>
                <button type="button" class="btn btn-default btn-lg pull-right" ng-click="cancelCreating()">Cancel</button>
            </form>
        </div>
        <!-- EDITING -->
        <div ng-show="shouldShowEditing()">
            <h4>Editing {{editedBookmark.title}}</h4>

            <form class="edit-form" role="form" ng-submit="updateBookmark(editedBookmark)" novalidate>
                <div class="form-group">
                    <label>Bookmark Title</label>
                    <input type="text" class="form-control" ng-model="editedBookmark.title" placeholder="Enter title">
                </div>
                <div class="form-group">
                    <label>Bookmark URL</label>
                    <input type="text" class="form-control" ng-model="editedBookmark.url" placeholder="Enter URL">
                </div>
                <button type="submit" class="btn btn-info btn-lg">Save</button>
                <button type="button" class="btn btn-default btn-lg pull-right" ng-click="cancelEditing()">Cancel</button>
            </form>
        </div>
    </div>
</div>
复制代码

 

5. When visiting the page, url should change accordingly, otherwise nothing will show.

old url:
http://localhost:63342/eggly/index.start.html
new url:
http://localhost:63342/eggly/index.start.html#/

 

Read More:

https://github.com/angular-ui/ui-router

http://angular-ui.github.io/ui-router/site/#/api/ui.router

https://github.com/eggheadio/egghead-angularjs-eggly-architecture/tree/03-basic-state-ui-router

posted @   Zhentiw  阅读(388)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示