欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

webapp框架AngularUI的demo改造之路

程序员文章站 2022-09-07 10:17:45
目的:把angularui的模板应用到现有项目上 步骤如下: 按功能表修改demo界面 学习angularui如何加载全部页面,为了设置自定义加载模板,在de...

目的:把angularui的模板应用到现有项目上

步骤如下:

按功能表修改demo界面

webapp框架AngularUI的demo改造之路

webapp框架AngularUI的demo改造之路

学习angularui如何加载全部页面,为了设置自定义加载模板,在demo/demo.js中找到这一段


//当#为/,/scroll等等,请求index.html中<base href=""> + home.html的页面
app.config(function($routeprovider) {
  $routeprovider.when('/',              {templateurl: 'home.html', reloadonsearch: false});
  $routeprovider.when('/scroll',        {templateurl: 'scroll.html', reloadonsearch: false});
  $routeprovider.when('/toggle',        {templateurl: 'toggle.html', reloadonsearch: false});
  $routeprovider.when('/tabs',          {templateurl: 'tabs.html', reloadonsearch: false});
  $routeprovider.when('/accordion',     {templateurl: 'accordion.html', reloadonsearch: false});
  $routeprovider.when('/overlay',       {templateurl: 'overlay.html', reloadonsearch: false});
  $routeprovider.when('/forms',         {templateurl: 'forms.html', reloadonsearch: false});
  $routeprovider.when('/dropdown',      {templateurl: 'dropdown.html', reloadonsearch: false});
  $routeprovider.when('/drag',          {templateurl: 'drag.html', reloadonsearch: false});
  $routeprovider.when('/carousel',      {templateurl: 'carousel.html', reloadonsearch: false});
});

继续阅读demo.js的执行脚本

   拖拽项消失
   拖拽切换图片
   主要控制器

 l195 $rootscope.$on('$routechangestart', function(){}); 和 l199 $rootscope.$on('$routechangesuccess', function(){});学到 用.$on()来绑定事件和改变hash的事件可以触发这里的代码,对比后,发现两个基本方法一样。不同的一点就是 先触发routechangestart, 后触发routechangesuccess。
        滚动列表页:滚动栏加载数据 $scope.scrollitems = scrollitems;  scrollitems是一个列表数组;滚动到底部事件(需要做下拉刷新)
        右边聊天侧栏的json数据,显示在线还是不在线,对我来说暂时没有这个能力做聊天功能
         表单页面

改换原来bootstrap模板

1.由上面步骤2知道页面加载有两个因素决定:


1 base路径 => base_url()
2 hash对应的页面路径 => 控制器/方法
3 隐藏index.php
/config/config.php $config['index_page'] = ''; //l29设置为空
.htaccess
rewriteengine on  
rewritecond $1 !^(lightapp|lightapp\.php|index\.php|public|robots\.txt)   #允许lightapp|lightapp.php访问
rewriterule ^(.*)$ /index.php/$1 [l]
config.yaml
- rewrite: if( !is_file() && !is_dir()) goto "index.php?%{query_string}"
# 如果 url 既不是文件,也不是目录,跳转至 index.php?%{query_string} 不能放在cron后面
4 修改demo.js中菜单路由

2.替换资源路径<?=__public__?>,拷贝2个js,3个css文件

3.新建style,script目录,存放项目的js和css

4.拷贝字体目录fonts到public下

5.拷贝home.html,sidebar.html页面到视图目录下

总结:至此,项目的模板就应用了angularui。