zoukankan      html  css  js  c++  java
  • 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

    后来没有用,暂不记录,参考

  • 相关阅读:
    Fatal error compiling: invalid target release: 11 -> [Help 1]
    java -jar 设置日志位置
    wordpress 添加 显示磁盘剩余空间百分比的插件
    记录我个人对Telegram的了解
    Ubuntu 18.04 切换使用Python3
    基于 CI 1.7.x 的 项目使用新版本CI的文件缓存类库
    使用sqlyog工具同步两个相同结构的数据库之间的数据
    了解GTIN小记
    华为手机设置桌面图标角标提醒的实现
    Quill编辑器IOS下无法获取焦点的解决方法
  • 原文地址:https://www.cnblogs.com/mingziday/p/6691740.html
Copyright © 2011-2022 走看看