标签: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