过了一个星期才重新开始angular学习之路,这一周做了中国软件杯的收尾工作,
? ?一:完成一个桌面端管理页面,我用了前面学习的ng指令之类的做了一个管理员页面,
?1、总结一下angualr的ajax请求和image标签报错之后的正确写法:(先注入$http)
1 function (){
$http.get('https://HdhCmsTestaloneness.cn/library_5/checkAdministrator' , {
2 params: {
3 account: $scope.user.username,
4 password: $scope.user.password
5 }
6 }).then( function (result) { // 正确请求成功时处理
7 console.info(result);
8
9 }
10 }). catch ( function (result) { // 捕捉错误处理
11 console.info(result);
12 });
13
14 }
.success已经不可以用了。
?2、如果是豆瓣的接口,也会出现跨域问题。很烦。所以找了一些解决方案。
var top = angular.module('top',['ngRoute','moviecat.services.http']); // 注入依赖
HttpService.jsonp( // 前面要注入HttpService
'http://api.douban测试数据/v2/movie/in_theaters' ,
{ start: 1, count: 10 },
function (data) {
console.log(data);
// $apply的作用就是让指定的表达式重新同步
});
还有添加一个http.js文件。
( function (angular) {
// 由于默认angular提供的异步请求对象不支持自定义回调函数名
// angular随机分配的回调函数名称不被豆瓣支持
var http = angular.module('moviecat.services.http' , []);
http.service( 'HttpService', ['$window', '$document', function ($window, $document) {
// url : http://api.douban测试数据/vsdfsdf -> <script> -> html就可自动执行
this .jsonp = function (url, data, callback) {
var fnSuffix = Math.random().toString().replace('.', '' );
var cbFuncName = 'my_json_cb_' + fnSuffix;
// 不推荐
$window[cbFuncName] = callback;
var querystring = url.indexOf('?') == -1 ? '?' : '&' ;
for ( var key in data) {
querystring += key + '=' + data[key] + '&' ;
}
querystring += 'callback=' + cbFuncName;
var scriptElement = $document[0].createElement('script' );
scriptElement.src = url + querystring;
$document[ 0 ].body.appendChild(scriptElement);
};
}]);
})(angular);
?
?3、正常使用image会报404错误,所以要把它修改为
< img ng-src ="" alt ="" >
?
?二:在本地运行angular官方文档:还没有FQ,所以只能这样了。
三:温习一下安装angular的步骤,因为今天写的时候居然忘了。顺便把路由也写上来。
?四:总结一些路由的使用语法。
1 <body ng-app="app">
2 <ul>
3 <li><a href="#/a">A</a></li>
4 <li><a href="#/b">B</a></li>
5 <li><a href="#/c">C</a></li>
6 </ul>
7 <div ng-view></div>
8 <script src="node_modules/angular/angular.js"></script>
9 <script src="node_modules/angular-route/angular-route.js"></script>
10 <script >
11 <!-- 只有type="text/javascript"的script节点才会被当做JS执行 -->
12 <!-- script中的内容就算不能执行,也不可以显示在界面上 -->
13 <h1>{{name}}</h1>
14 </script>
15
16 <script>
17 var app = angular.module("app",['ngRoute' ]);
18 app.config(['$routeProvider', function ($routeProvider){
19 $routeProvider
20 .when('/a',{controller:'aController',templateUrl:'a_temple' })
21 .when('/b',{controller:'bController',templateUrl:'a_temple' })
22 .when('/c',{controller:'cController',templateUrl:'a_temple' })
23 .otherwise({redirectTo: '/a'}); // 其他请求跳转到一个地址
24 }]);
25 app.controller('aController',['$scope', function ($scope){
26 $scope.name = "这是a控制器"
27 }]);
28 app.controller('bController',['$scope', function ($scope){
29 $scope.name = "这是b控制器"
30 }]);
31 app.controller('cController',['$scope', function ($scope){
32 $scope.name = "这是c控制器"
33 }]);
34 </script>
35 </body>
?
查看更多关于angular 学习笔记 (3) -- ajax、npm安装angular和路由基础的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did222787