angularJs
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angularJs相关的知识,希望对你有一定的参考价值。
angularJS内建了30多个服务(service):
$location: 它可以返回当前页面的URL地址。需要把他定义在function($scope,$location)中;
$http:是angularJS最常用的服务。服务向服务器发送请求,应用响应服务器送过来的数据。angularJS会一直监控应用,处理事件的变化.
$q:是内置服务,它提供了一种承诺/延后(promise/deferred),可以保证我们的调用代码能够拿到数据。
angularJS跨域请求:
一、【$http.jsonp】
1. 指定callback和回调函数名,函数名为JSON_CALLBACK时,会调用success回调函数,JSON_CALLBACK必须全为大写。
2. 指定其它回调函数,但必须是定义在window下的全局函数。url中必须加上callback。
$http.jsonp("https://api.github.com/?callback=JSON_CALLBACK").success(function(data){
alert("响应数据成功")
})
angular调用数据:
myapp.controller("mycontroller",function($scope){
/*将得到的数据保存到自定义student()中*/
$scope.student() = {
subjects:[
{name:‘编程语言基础‘,marks:90},
{name:‘C语言‘,marks:85},
{name:‘html/CSS‘,marks:61},
{name:‘Java‘,marks:85},
{name:‘NodeJS‘,marks:65}
]
}
})
/*输出数据*/
<h1 ng-repeat="subjuct in student.subjects">{{subject.name+" "+subject.marks}}</h1>
angularMVC实例
js部分:
var myapp = angular.module("Myapp",["ngRoute"]);
myapp.controller("myController",function($sope){
$scope.title = "这是一个MVC实例";
$scope.pageOne = "这是第一页";
$scope.pageTwo = "这是第二页"
})
myapp.config(function($routeProvider){
$routeProvider.
when("/",{ //关于这个"/"和"/autoName",主要是在html中和<a href="#/"或者"#/autoName"></a>对接;
controller:"myController", //关于这里控制器的问题,最开始在page1.html中自定义了一个控制器page1Controller,但是不能传参到页面上(“{{裸代码}}”).估计是控制器里面嵌套控制器的问题.还没解决!!
templateUrl:"page1.html";//自定义一个html文件<div>这是第一页</div><a href="#/autoName">去第二页</a>
}).
when("/autoName",{
controller:"myController",
templateUrl:"page2.html";//自定义一个html文件<div>这是第二页</div><a href="/">去第一页</a>
}).
otherwise({
redirectTo:"page1.html" //当找不到网页的时候就加载这个地址(可以用于最常见的404)
})
})
html部分:
<body ng-app="myapp" ng-controller="myController">
<div class="title">
<h1>{{title}}</h1>
</div>
<!--ng-view:页面加载在该指令内(听说angular对它的优先级最高,不知真假)-->
<div ng-view></div>
</body>
以上是关于angularJs的主要内容,如果未能解决你的问题,请参考以下文章