Decoration3:增删改的实现
下面我们完成数据的增加、删除、修改,这里的主要知识就是前端Angularjs,遇到的问题
1、路由组件采用ui.router,链接的写法有两种:
<a href="#/coach/create">新增教练信息</a> ----Ok
<a ui-sref="coach-edit({id:coach.id})">修改教练信息</a> ---Ok
http://localhost:8080/coachs.html#/coach-create ---这种直接通过连接跳转状态的方式是错误的 $state.go('coach',$stateParams); ---Ok
$state.go('coach',{id:333}); ---Ok
如何使用参数:
commonService.getOne($stateParams.id).then(function(data)......
注意ui-route和ngRoute相比,我这里因为用错了调试了好一阵儿
$route —> $state
$routeParams —> $stateParams
$routeProvider —> $stateProvider
<div ng-view></div> —> <div ui-view></div>
2、控制器Controller
对于一个domain数据的增删改查,初始计划是只用一个Controller,即多视图单控制器。后来尝试发现这种操作是不行的,每一次视图更替,都要重新加载一下Controller和$scope,这一点要记录下。
“通常情况下,控制器不应被赋予太多的责任和义务,它只需要负责一个单一视图所需的业务逻辑。最常见的保持控制器“纯度”的方法是将那些不属于控制器的逻辑都封装到服务(services)中,然后在控制器中通过依赖注入调用相关服务。”
以上是Angularjs使用说明中的一句话,地址在这里。
3、Factory注入和Service注入
公共逻辑封装到服务中,我在提取公共服务的时候遇到了这个坑,总是报错如下错误,是因为没有搞清楚两者在使用上的区别。
[$injector:undef] http://errors.angularjs.org/1.5.8/$injector/undef?p0=coachService
factory必须要有一个返回值作为依赖对象;service没有这个必要,调用构造函数实例化得到的对象即为依赖对象,出处在这里。
4、remove用户数据成功的时候,不用重新加载页面,把信息直接从List页面删掉的方法,利用了without方法
$scope.coachs = _.without($scope.coachs, user);// 删除成功直接从List移走
5、关于ControllerAs
后来没有用,暂不记录,参考
Decoration3:增删改的实现的更多相关文章
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 无限分级和tree结构数据增删改【提供Demo下载】
无限分级 很多时候我们不确定等级关系的层级,这个时候就需要用到无限分级了. 说到无限分级,又要扯到递归调用了.(据说频繁递归是很耗性能的),在此我们需要先设计好表机构,用来存储无限分级的数据.当然,以 ...
- MongoDB下载安装与简单增删改查
Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...
- php数据库访问及增删改
利用PHP访问由MySQL构建的数据库 连接到数据库 //1.造连接对象 $db = new MySQLi("localhost","root","1 ...
- 通过Java代码实现对数据库的数据进行操作:增删改查
在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao xingming xue ...
- Hibernate全套增删改查+分页
1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...
- 使用 Json.Net 对Json文本进行 增删改查
JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...
随机推荐
- MySQL解决[Err] 1206 - The total number of locks exceeds the lock table size问题
MySQL解决[Err] 1206 - The total number of locks exceeds the lock table size问题 查看MySQL版本:mysql>show ...
- OpenCV使用二维特征点(Features2D)和单映射(Homography)寻找已知物体
使用二维特征点(Features2D)和单映射(Homography)寻找已知物体 目标 在本教程中我们将涉及以下内容: 使用函数 findHomography 寻找匹配上的关键点的变换. 使用函数 ...
- OpenCV中图像融合
准备2副背景图像,注意图像黑色的部分,是作为mask用的,我们会用灰度图的方式打开它们,这时黑色的部分值为0,则图像融合时候,可以把第二幅图像在黑色的部分显示出来. 代码非常简单,注意就是图 ...
- go语言基础之不同作用域同名变量
1.不同作用域同名变量 示例: package main import "fmt" var a byte //全局变量 func main() { var a int //局部变量 ...
- MySQL for Mac安装和启动
MySQL for Mac安装和启动 学习了:https://blog.csdn.net/a380880304/article/details/49840139 注意密码是数字1还是字母l: 系统提示 ...
- [Functional Programming] Unbox types with foldMap
Previously we have seen how to use Concat with reduce: ), Sum(), Sum()] .reduce((acc, x) => acc.c ...
- MySQL插值语句
insert into Daywork( fdayworkId, fuserId, fdate, fhours, fclaimdate ) values ( 2709, '1@2.3', '2013- ...
- OpenMeetings(4)----新用户注册
用户登录与注册的主要代码都在WebContent\src\base\auth\checkLoginData.lzx文件中 <simpleLabelButton labelid=" ...
- FLV视频播放:对未缓冲进度条实现拖动
FLV视频播放:对未缓冲进度条实现拖动 流媒体开发 Add comments 八282010 一.文件准备 1.转码:ffmpeg 2.添加元数据:yamdi 二.网页播放器:jw player 使 ...
- 苹果开发——App内购以及验证store的收据(一)
原地址:http://zengwu3915.blog.163.com/blog/static/27834897201375105236580?suggestedreading 发了几天时间在网上折腾了 ...