发表于: 2017-06-11 20:42:54

1 653


1、登录页的button添加ng-click事件,当点击时,获取双向绑定后的数据,并用$http请求登录接口

$scope.toggle = function (userData) {      //ng-click函数toggle
   $http({
       method:'post',
       url:"/carrots-admin-ajax/a/login",  //后台接口端
       params: {name: userData.username, pwd: userData.password}}).success(function (data) {  //传参,使用parmas,data无效
       $(".tip-3").html(data.message);   //显示服务器接口返回信息
       if(data.message=="success"){location.href="./js-round6.html"};  //显示成功后进行跳转
   });
}

代码本身不算复杂,将之前js和ajax实现的功能换为angular实现,代码相似度也非常高。

之前使用data传参一直为空,改成parmas后解决,两者区别为:

params:一个键和值都是字符串的对象(确切来说是一个map),表示需要转换成URL参数的键和值。例如:

[{key1: 'value1', key2: 'value2'}]将会被转换成?key1=value&key2=value2,并会被附加到URL后面。如果我们使用js对象(而不是字符串或者数值)作为map中的值,那么这个js对象会被转换成JSON字符串。

data:一个字符串或者对象,它会被当作请求数据发送。


2、总结下任务7,使用ui.route替代ng-route,用法类似,但是功能更全面一些,主要靠状态 state 来驱动视图。

然后利用后端接口接受数据,接收成功后使用回调函数将数据列表赋值给自定义函数list.

    .controller('siteCtrl', function($scope, $http) {
$http.get("/carrots-admin-ajax/a/article/search")
.success(function (response) {$scope.list = response.data.articleList;});
})

之后在路由页面中,使用ng-repeat将列表数据在页面渲染,注意需要使用筛选器filter转换格式,部分需要使用filter代参自定义函数

x.createAt | date:"MM/dd/yyyy  hh:mm:ss

3、整个任务代码量不多,逻辑比较清晰,头文件需要加载js/angularjs/ui.route等文件,注意加载顺序,做好细节即可。


困难:angular传参意义不是很清楚,可选参数多,表头那些内容看不明白。

收获:angular了解深入了一些,知识点较多,框架学起来比较慢,任重道远。

计划:开始任务8,好像翻页要用ngtable,网上资料太少,一步一步看吧。


返回列表 返回列表
评论

    分享到