标签:1.0 fun var 自定义 form 就是 orm show value
提供三种自定义服务的方法:factory、service、value
factory:
<script>
var App = angular.module(‘App‘, []);
App.controller(‘demo‘, [‘$scope‘, ‘format‘, function ($scope, format) {
var arr = {
name: ‘wqx‘,
age: 12
};
console.log(format(arr));
}]);
App.factory(‘format‘, [‘$filter‘, function ($filter) {//自定义服务依赖于$filter
//自定义服务具体的功能
return function format(arg) {
var s = ‘‘;
for (var key in arg) {
s += key + ‘=‘ + arg[key] + ‘&‘;
}
s = s.slice(0, -1);
return s;
}
}]);
</script>
factory还有另外一种写法:
<script src="angular.min.js"></script>
<script>
var App = angular.module(‘App‘, []);
App.controller(‘demo‘, [‘$scope‘, ‘$http‘, ‘format‘, function ($scope, $http, format) {
var data = {
name: ‘itcast‘,
age: 10
};
// 测试自定义的服务
console.log(format.format(data));
console.log(format.sayHello());
}]);
App.factory(‘format‘, [‘$filter‘, function ($filter) {
// 自定义服务,但依赖于$filter
// 定义服务具体功能
function format(arg) {
var s = ‘‘;
for (var key in arg) {
s += key + ‘=‘ + arg[key] + ‘&‘;
}
s = s.slice(0, -1);
return s;
}
// 具体功能
function sayHello() {
alert(‘你好‘)
}
// 返回出去以被调用
return {
format: format,
sayHello: sayHello
}
}]);
</script>
service:
<body ng-app="App" ng-controller="demo">
<h1>{{now}}</h1>
<script src="angular.min.js"></script>
<script>
var App = angular.module(‘App‘, []);
App.controller(‘demo‘, [‘$scope‘, ‘showTime‘, function ($scope, showTime) {
$scope.now = showTime.now();
showTime.sayHello();
}]);
App.service(‘showTime‘, [‘$filter‘, function ($filter) {
// return {
// showTime: function () {
// }
// }
var now = new Date;
var date = $filter(‘date‘);
// 向对象上添加具体方法
this.now = function () {
return date(now, ‘yyyy/MM/dd hh:mm:ss‘);
}
// 添加具体方法
this.sayHello = function () {
alert(‘你好‘);
}
}]);
</script>
</body>
value:
<body ng-app="App" ng-controller="demo">
<p>{{author}}</p>
<p>{{version}}</p>
<script src="angular.min.js"></script>
<script>
var App = angular.module(‘App‘, []);
// 自定义常量服务
App.value(‘author‘, ‘wqx‘);
App.value(‘version‘, ‘1.0‘);
// 本质上一个服务
// 从表现形式上是一个常量
// 常量就是不变的值与变对量相对应
// 声明依赖调用服务
App.controller(‘demo‘, [‘$scope‘, ‘author‘, ‘version‘, function ($scope, author, version) {
$scope.author = author;
$scope.version = version;
}]);
</script>
</body>
注释:js会阻塞dom的解析,所以脚本代码最好写在后面,避免写在head标签里。
标签:1.0 fun var 自定义 form 就是 orm show value
原文地址:http://www.cnblogs.com/wuqiuxue/p/7754565.html