- angular通过指令扩展HTML,通过表达式绑定数据到HTML
<div ng-app="myApp" ng-controller="myCtrl">
<select ng-model="selectedName" ng-options="x for x in names">
</select>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.names = ["Google", "W3Cschool", "Taobao"];
});
</script>
ng-click指令,定义了一个单击事件。
- View(视图), 即 HTML。
- Model(模型), 当前视图中可用的数据。
- Controller(控制器), 即 JavaScript 函数,可以添加或修改属性。
ng-controller="myCtrl"是一个angular的指令,用于定义一个控制器。
<div ng-app="myApp" ng-controller="personController">
名: <input type="text" ng-model="person.firstName"><br>
姓: <input type="text" ng-model="person.lastName"><br>
<br>
姓名: {{person.firstName + " " + person.lastName}}
</div>
<script src="Controller.js"></script>
另外的Controller.js文件
angular.module('myApp', []).controller('namesCtrl', function($scope) {
$scope.names = [
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}
];
});
过滤器:(多用来转换数据)
符号 “ | ”
<div ng-app="myApp" ng-controller="personCtrl">
<p>姓名为 {{ lastName | uppercase }}</p>
</div>
服务:(创建自己的服务 Service)
$location服务,可以放回当前页面的URL地址。
$http服务,服务向服务器发送请求,应用响应服务器传送来的数据。
($http.get('/index.php'))
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$http.get("welcome.htm").then(function (response) {
$scope.myWelcome = response.data;
});
});
获取接口数据
$timeout服务(相当于window.setTimeout函数)
$interval 服务 (相当于window.setInterval函数)
创建自己的服务
app.service('ser', function() {
this.myFunc = function (x) {
return x.toString(16);
}
});
这样就创建了一个ser的服务。然后再去使用它
app.filter('myFormat',['ser
', function(ser) {
return function(x) {
return ser.myFunc(x);
};
}]);
依赖注入:
一种软件设计模式,一个或者更多的依赖或者服务被注入(或者通过引用传递)到一个独立的对象,然后成为了客户端的一部分。
五个核心组件作为依赖注入(value,factory,service,provider,constant)
factory是一个函数用于返回值,在service和controller需要时创建。
路由:
module.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/',{template:'这是首页页面'})
.when('/computers',{template:'这是电脑分类页面'})
.when('/printers',{template:'这是打印机页面'})
.otherwise({redirectTo:'/'});
}]);
参数说明:
template:
如果我们只需要在 ng-view 中插入简单的 HTML 内容,则使用该参数:
.when('/computers',{template:'这是电脑分类页面'})
templateUrl:
如果我们只需要在 ng-view 中插入 HTML 模板文件,则使用该参数:
$routeProvider.when('/computers', { templateUrl: 'views/computers.html', });
以上代码会从服务端获取 views/computers.html 文件内容插入到 ng-view 中。
controller:
function、string或数组类型,在当前模板上执行的controller函数,生成新的scope。
controllerAs:
string类型,为controller指定别名。
redirectTo:
重定向的地址。
resolve:
指定当前controller所依赖的其他模块。
路由和依赖注入,楼主自己也不是很理解,只能先整理出啦,后面慢慢学习。
希望共同学习,多多指点~