• 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

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

  • 相关阅读:
    Bit Calculation
    Create ArcGIS maps in Power BI Desktop
    Power Apps visual for Power BI
    Create Power BI visuals by using Python
    运行 R 脚本
    Introduction to ASP.NET Core Blazor
    Tips and tricks for color formatting in Power BI
    Sharepoint Create, Update, and Delete List Items
    Power BI Office Online Server
    jQuery Organization Chart
  • 原文地址:https://www.cnblogs.com/mingziday/p/6691740.html
Copyright © 2020-2023  润新知