在配置路由的时候,我们可以选择ng框架自带的路由,也可以使用第三方路由插件ui-router

注意:

(1)在使用angular-ui-router的时候,必须先引入angular-ui-router.js模块

(2)在自己的项目中注入“ui-router”

(3)给他一个ui-view="..."当作模板的容器

the problems of my project:

the question:  in my project, i want to use the common tags but the different part pages,

solution:将tags放在父级的ui-view="content" 中,在html 模板中再次写一个ui-view="part"

<div class="con-detail">
<div ui-view="content">
<div ng-show="nav_show">
<settingnav></settingnav>
<proadduser></proadduser>
</div>
</div>
</div>
<div class="ideas-list">
<div class="my-row">
<div class="amdin-nav" ><!--共用的tags-->
<ul class="list-inline adminAction-listHeader">
<li ui-sref="home.ideas.allIdeas" >
<a href="" ng-class="{active:eval=='allIdeas'}" class="my-btn-lg" >全部创意</a>
</li>
<li ui-sref="home.ideas.myIdeas" >
<a class="my-btn-lg" ng-class="{active:eval=='myIdeas'}" >我的创意</a>
</li>
<li ui-sref="home.ideas.appr_list" >
<a class="my-btn-lg" ng-class="{active:eval=='waitList'}">待审批</a>
</li>
<li ui-sref="home.ideas.approval" >
<a class="my-btn-lg" ng-class="{active:eval=='hasApproval'}" >已审批</a>
</li>
</ul>
</div>
<div class=" list-content" ui-view="part" >
        <!--用于子模板的放入-->
</div>
</div>
</div>
js:
define(['angular','ng-require','rap','ng-bootstrap','ui-router'], function (angular) {
var myapp = angular.module('myapp', ['ui.router', 'ui.bootstrap', 'ngRap','ngRequire']); /................................./
return myapp;
});
define(['app'], function (myapp) {
myapp.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', '$requireProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider, $requireProvider) {
$urlRouterProvider.otherwise('home.ideas'); //默认跳转
$stateProvider.state('home.ideas', {//创意列表(全部创意)
url: '/ideasList',
views: {
"content": {
templateUrl: 'tpls/ideas/list.html',
//controller:"ideas_list_ctrl"
controller:function($state){
$state.go("home.ideas.allIdeas");<!---进一步的跳转到全部创意--->
}
}
}
})
.state('home.ideas.allIdeas', {//全部创意(用于跳转的状态)
url: '/allIdeas', //浏览器的地址栏上面显示的
views: {
"part": {
templateUrl: 'tpls/ideas/all_idea_list.html',
controller:'ideas_list_ctrl'
}
}
}) .state('home.ideas.myIdeas', {//我的创意
url: '/myIdeas',
views: {
"part": {
templateUrl: 'tpls/ideas/myIdeas.html',
controller:'ideas_myIdeas_ctrl'
}
}
})
然后在每一个的控制器中配置:tags的状态(注意要在rootScope中配置状态,因为我没给出父级控制器(上面在配置content的时候))
 /............../
myapp.controller('ideas_list_ctrl',
['$scope','$rootScope','ideas_api','myalert', function (s,rs,ideas_api,myalert) { console.log("this is idea_list ctrl"); rs.eval="allIdeas"; /............./
myapp.controller('ideas_hasPass_ctrl',
['$scope','$rootScope','setting_api', 'ideas_api', function (s,rs,setting_api, ideas_api) {
      console.log("this is idea_hasApproval ctrl"); rs.eval='hasApproval';

  

												

关于ng的路由的几点想法(ui-view)的更多相关文章

  1. 走进AngularJs(八) ng的路由机制

    在谈路由机制前有必要先提一下现在比较流行的单页面应用,就是所谓的single page APP.为了实现无刷新的视图切换,我们通常会用ajax请求从后台取数据,然后套上HTML模板渲染在页面上,然而a ...

  2. webpack整合 vue-router 路由,模块嵌套,整合Mint UI,MUI

    webpack整合 vue-router 结构 各个文件内容,一共八个文件, 还有src components 目录 Login.vue <template> <div> &l ...

  3. 去除angularjs路由的显眼的#号

    在接触到angularj并完成第一个demo后,惊奇地发现居然还可以这样开发前端界面.个人喜欢的一个功能点就是ng的路由功能,可以很好地将视图放入多个文件中.但最基础的使用会给url添加一个显眼的#, ...

  4. 消息智能路由组件SmartRoute

    消息传递在软件开发过程中是一件很常见的事情,而在不同的场景所使用消息传递方式也有所不同,在对象之间制定相关接口方法和对象结构,对于进程之间可能使用内存共享或一些通讯产品,在不同服务器之的消息通讯则使用 ...

  5. Angular路由与多视图综合案例

    Ajax请求存在的几个问题 (1)Ajax请求不会留下History 记录,会导致浏览器后退按钮失效 (2)用户无法直接通过URL进入应用中的指定页面(保存书签.链接分享给朋友) (3)Ajax对SE ...

  6. django框架--路由系统

    目录 一.路由系统理解 二.路由系统功能划分 三.路由表创建 创建工具 二级路由 路由别名 动态路由及重定向 四.自定义错误页面 五.图示路由系统在框架中的定位 六.路由系统的进阶想法 一.路由系统理 ...

  7. [转]angular的路由机制

    在谈路由机制前有必要先提一下现在比较流行的单页面应用,就是所谓的single page APP.为了实现无刷新的视图切换,我们通常会用ajax请求从后台取数据,然后套上HTML模板渲染在页面上,然而a ...

  8. RouteReuseStrategy angular路由复用策略详解,深度刨析路由复用策略

    关于前端路由复用策略网上的文章很多,大多是讲如何实现tab标签切换历史数据,至于如何复用的原理讲的都比较朦胧,代码样例也很难适用各种各样的路由配置,比如懒加载模式下多级嵌套路由出口网上的大部分代码都会 ...

  9. MVC中路由

    篇目 介绍 路线的性质 了解缺省路由 用一个例子的路由 结论 介绍 本文介绍了MVC中的路由.如何执行的路线是由路由引擎和如何定义的URL路由. ASP.NET MVC的路由是一个模式匹配系统,负责传 ...

随机推荐

  1. bootstrap3 响应式布局栅格式布局

    抓住重点 下面开始实现Bootstrap版本3的Demo 案例 首先去官方网站  http://www.bootcss.com/ 下载 点击 进入 点击 进入 下载 把 相关的js和css 拷贝到项目 ...

  2. 深度神经网络(DNN)的正则化

    和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考虑泛化,这里我们就对DNN的正则化方法做一个总结. 1. DNN的L1&L2正则化 想到正则化,我们首先想到的就是L1正则化和L2正 ...

  3. 游戏UI框架设计(三) : 窗体的层级管理

    游戏UI框架设计(三) ---窗体的层级管理 UI框架中UI窗体的"层级管理",最核心的问题是如何进行窗体的显示管理.窗体(预设)的显示我们前面定义了三种类型: 普通.隐藏其他.反 ...

  4. Socket的应用案例

    java提供网络功能的四大类1.InetAddress :用于标识网络上的硬件资源.2.URL:统一资源定位符,通过URL可以直接读取和写入网络上的数据.3.Socket:使用TCP协议实现网络通信的 ...

  5. 1详细解析HTML基础结构

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Linux i2c子系统(三) _解决probe无法执行

    如果你也遇到了填充了id_match_table,compitible怎么看都一样,但probe就是不执行(让我哭一会),你可以回头看一下上一篇的模板,我们这里虽然使用的是设备树匹配,但和platfo ...

  7. 自己动手编写Maven的插件

    Maven的插件机制是完全依赖Maven的生命周期的,因此理解生命周期至关重要.本文参考官方文档后使用archetype创建,手动创建太麻烦. 创建创建项目 选择maven-archetype-moj ...

  8. 提交Sublime Text 插件到Package Control

    最近写了一个lua智能提示的插件LuaSmartTips.这个插件一直都是自己一个人在用,昨天突然想把插件提交到Package Control,如果其他的人有这样的需求就可以直接安装. Package ...

  9. WebLogic写的网络爬虫

    一.前言 最近因为有爬一些招聘网站的招聘信息的需要,而我之前也只是知道有"网络爬虫"这个神奇的名词,具体是什么.用什么实现.什么原理.如何实现比较好都不清楚,因此最近大致研究了一下 ...

  10. 服务器数据库搭建流程(CentOs+mysql)

    前言: 服务器上数据库搭建需要知道Linux系统的版本,以前的Ubuntu14.04直接在终端下输入apt-get install (package)便可方便的下载并安装mysql,但是在centOs ...