2016.6.4

学习文献:

你的第一个AngularJS应用:https://segmentfault.com/a/1190000000347412

AngularJS 提交表单的方式:http://www.oschina.net/translate/submitting-ajax-forms-the-angularjs-way

AngularJS中$http服务的简单用法:http://www.2cto.com/kf/201506/405137.html

代码由3块实现:

1.Ui

mvc5的解释就是定义项目,定义模块,定义基本视图

    <body ng-app='routingDemoApp'>
<div class="container">
<div class="row">
<h1 class="text-center">angular 单页新闻发布系统</h1>
</div>
<div class="row">
<div class="col-md-2">
<ul class="">
<li><a href="#/put">发布</a></li>
<li><a href="#/list">新闻列表</a></li>
</ul>
</div>
<div class="col-md-10" ng-view></div>
</div>
</div>
</body>

2.AnjularJs的功能实现

        <script>
//配置路由器,绑定视图和控制器,细节看上面引用链接
var app = angular.module('routingDemoApp', ['ngRoute']);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'list.html',
controller: 'ListController'
})
.when('/list', {
templateUrl: 'list.html',
controller: 'ListController'
})
.when('/edit/:id', {
templateUrl: 'edit.html',
controller: 'EditController'
})
.when('/del/:id', {
controller: 'DelController',
templateUrl: 'del.html',
})
.when('/detail/:id', {
templateUrl: 'detail.html',
controller: 'DetailController'
})
.when('/put', {
templateUrl: 'put.html',
controller: 'PutController'
})
.otherwise({ redirectTo: '/' });
}]);
//写控制器功能
app.controller("ListController", function ($scope, $http) {
$http.get("/AngularJS/data.ashx?action=getall")
.success(function (data) {
$scope.models = data.models;
})
});
app.controller("PutController", function ($scope, $http) {
$scope.addcontent = function () {
//这种写法很差,建议看下面EditController控制器里面用对象来写值
var data = "title=" + $scope.title + "&author=" + $scope.author + "&content=" + $scope.content;
$http.get("/AngularJS/data.ashx?action=add&" + data)
.success(function (data ) {
if (data == && confirm("发布成功是否跳转")) location.href = "";
});
}
});
app.controller("EditController", function ($scope, $http, $routeParams) {
$scope.updata = function () {
//nnd,Jq用的 ("form").serialize(),只能拼接了;想用$http.get(url,congfig)的,但是值传不过去。。。
$scope.model.action = "up";
$http({ method: "get", url: "/AngularJS/data.ashx", params: $scope.model })
.success(function (data) {
if (data != ) return false;
location.href = "";
});
}; $http.get("/AngularJS/data.ashx?action=get&id=" + $routeParams.id)
.success(function (data) {
$scope.model = data;
})
.error(function () {
alert("error");
$scope.formData = {};
}); });
app.controller("DelController", function ($scope, $http, $routeParams) {
$http.get("/AngularJS/data.ashx?action=del&id=" + $routeParams.id)
.success(function (data) {
if (data != ) return false;
window.location.href("./");
})
.error(function (data) {
alert("error");
})
});
app.controller("DetailController", function ($scope, $http, $routeParams) {
$http.get("/AngularJS/data.ashx?action=get&id=" + $routeParams.id)
.success(function (data) {
$scope.model = data;
})
.error(function () {
alert("失败");
})
$scope.updata = function () {
$http.get("/AngularJS/data.ashx?action=up")
}
}); </script>

3.视图模板

        <script type="text/ng-template" id="put.html">
<form class="form-horizontal">
<div class="form-group">
<label>标题</label>
<input type="text" class="form-control" ng-model="title" />
</div>
<div class="form-group">
<label>作者</label>
<input type="text" class="form-control" ng-model="author" />
</div>
<div class="form-group">
<label>内容</label>
<textarea type="text" class="form-control" ng-model="content"> </textarea>
</div>
<div class="form-group">
<input type="button" class="btn btn-success form-control" value="提交" ng-click="addcontent()"/>
</div>
</form>
</script> <script type="text/ng-template" id="list.html">
<div class="row" >
<table class="table">
<thead>
<tr>
<th>编号</th>
<th>标题</th>
<th>时间</th>
<th>管理</th>
</tr>
</thead>
<tbody ng-repeat="x in models">
<tr>
<td>{{ $index+ }}</td>
<td><a href="#/detail/{{x.Id}}"> {{ x.title }}</a></td>
<td>{{ x.time }}</td>
<td><a href="#/edit/{{x.Id}}">编辑</a>|<a href="#/del/{{x.Id}}">删除</a></td>
</tr>
</tbody>
</table>
</div>
</script> <script type="text/ng-template" id="edit.html">
<form class="form-horizontal">
<input type="hidden" ng-model="model.Id"/>
<div class="form-group">
<label>标题</label>
<input type="text" class="form-control" ng-model="model.title" />
</div>
<div class="form-group">
<label>作者</label>
<input type="text" class="form-control" ng-model="model.author" />
</div>
<div class="form-group">
<label>内容</label>
<textarea type="text" class="form-control" ng-model="model.content"> </textarea>
</div>
<div class="form-group">
<input type="button" class="btn btn-success form-control" value="修改" ng-click="updata()"/>
</div>
</form>
</script> <script type="text/ng-template" id="detail.html">
<h1 class="text-center">{{ model.title }}</h1>
<span class="text-center">作者:{{ model.author }},时间:{{ model.time }}</span>
<div>
{{ model.content }}
</div>
</script> <script type="text/ng-template" id="del.html"> </script>

开发遇到以下几个问题:

1.Post提交的data数据是什么格式了?

JQ:$.post("url",data"")

Ang:$http.Post(data:"",params:"")

2.$scope.model获取前台传来的Json的取值问题

$http.get(url).success(function(data){

$scope.model = data;

})

json为集合:{"obj":[{id:1,name:"zzj"},{id:1,name:"zzj"}]},使用就是:$scope.model.obj[0].id,$scope.model.obj[0].name

json为对象:{id:1,name:"zzj"},使用的时候就是  $scope.model.id, $scope.model.name

3.路由器配置问题

http://www.runoob.com/angularjs/angularjs-routing.html

4.json转obj,string的细节(json检验网:http://www.bejson.com/)

json有2种:对象、集合

对象:{key:value,key:value}

集合:{object:[{key:value},{key:value}]}

格式之间的互转:

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。

JSON.stringify(obj)将JSON转为字符串。

JSON.parse(string)将字符串转为JSON格式;

Angular.fromJson( data );

Angular.toJson(data);

AnjularJs的增删改查(单页网站)的更多相关文章

  1. day 68 增删改查 语法

    1 普通正则 2 分组正则 url(r'/blog/(\d+)/(\d+)',views.blog)     blog(request,arq1,arq2) 按照位置传参 3 分组命名 url(r'/ ...

  2. python全栈开发day61-django简单的出版社网站展示,添加,删除,编辑(单表的增删改查)

    day61 django内容回顾: 1. 下载: pip install django==1.11.14 pip install -i 源 django==1.11.14 pycharm 2. 创建项 ...

  3. Django学习笔记(10)——Book单表的增删改查页面

    一,项目题目:Book单表的增删改查页面 该项目主要练习使用Django开发一个Book单表的增删改查页面,通过这个项目巩固自己这段时间学习Django知识. 二,项目需求: 开发一个简单的Book增 ...

  4. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  5. 05_Elasticsearch 单模式下API的增删改查操作

    05_Elasticsearch 单模式下API的增删改查操作 安装marvel 插件: zjtest7-redis:/usr/local/elasticsearch-2.3.4# bin/plugi ...

  6. Elasticsearch 单模式下API的增删改查操作

    <pre name="code" class="html">Elasticsearch 单模式下API的增删改查操作 http://192.168. ...

  7. 关于单链表的增删改查方法的递归实现(JAVA语言实现)

    因为在学习数据结构,准备把java的集合框架底层源码,好好的过一遍,所以先按照自己的想法把单链表的类给写出来了; 写该类的目的: 1.练习递归 2.为深入理解java集合框架底层源码打好基础 学习的视 ...

  8. 1.SSM整合_单表的增删改查

    目标:增删改查 环境:Maven+Eclipse+Tomcat7+JDK7 思维导图: 表结构 目录结构 依赖 <dependencies> <dependency> < ...

  9. $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期

    1 orm介绍  ORM是什么   ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM.  一 ...

随机推荐

  1. Win7重装系统遇到的问题以及MysQL的问题解决

    连续三天因为系统的错误,android方面的软件一直不能正确运行.而且每次开机的时候QQ 微信等聊天工具也出现损坏.虽然重新下载一个可以保证在电脑不管的情况下正常的运行.可是作为玩电脑时间不长的我来说 ...

  2. Android启动模式launchMode

    在Android里,有4种Activity的启动模式并分别介绍下: standard singleTop singleTask singleInstance AndroidManifest.xml配置 ...

  3. MVC 生成图片,下载文件(图片不存在本地,在网上下载)

    /// <summary> /// 生成图片 /// </summary> /// <param name="collection"></ ...

  4. Hibernate连接mysql数据库并自动创建表

    天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...

  5. WPExpress78_update 离线包

    http://115.com/lb/5lb7rnbr#Windows Phone SDK update for WP 7.8115网盘礼包码:5lb7rnbr 使用/layout下载的,相信很多朋友已 ...

  6. 【转】JavaScript 异步进化史

    前言 JS 中最基础的异步调用方式是 callback,它将回调函数 callback 传给异步 API,由浏览器或 Node 在异步完成后,通知 JS 引擎调用 callback.对于简单的异步操作 ...

  7. 迪杰斯特拉算法——PAT 1003

    本文主要是将我对于我对于迪杰斯特拉算法的理解写出来,同时通过例题来希望能够加深对于算法的理解,其中有错误的地方希望大家指正. 迪杰斯特拉算法 我将这个算法理解成一个局部到整体的算法,这个方法确实越研究 ...

  8. (ios) 屏幕触摸总结

    1  屏幕触控实现(单击 双击) [self becomeFirstResponder]; //允许多点互动 self.view.multipleTouchEnabled=TRUE; 实现事件部分 # ...

  9. Oracle BIEE启停脚本

    作为BI的开发人员,经常启停BI服务在所难免,启动的过程又比较长,命令需要不同目录切换,简直烦死人呢, 特意整理了linux中的启动脚本,将以下脚本存成biee.sh,后面的过程就相当简单了, 启动: ...

  10. HTML基础(一)——一般标签、常用标签和表格

    第一部分  HTML <html>    --开始标签 <head> 网页上的控制信息 <title>页面标题</title> </head> ...