{"id":19070639,"url":"https://github.com/xiaowenxia/angular-music","last_synced_at":"2026-04-13T17:32:35.811Z","repository":{"id":125508004,"uuid":"90454670","full_name":"xiaowenxia/angular-music","owner":"xiaowenxia","description":"使用angular编写的音乐播放器，基于网易音乐API ","archived":false,"fork":false,"pushed_at":"2017-05-27T10:42:14.000Z","size":280,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-02T15:50:40.600Z","etag":null,"topics":["angular","angular-cli","music-player"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiaowenxia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-06T10:13:36.000Z","updated_at":"2017-05-11T14:04:19.000Z","dependencies_parsed_at":"2023-04-25T18:03:32.133Z","dependency_job_id":null,"html_url":"https://github.com/xiaowenxia/angular-music","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaowenxia%2Fangular-music","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaowenxia%2Fangular-music/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaowenxia%2Fangular-music/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaowenxia%2Fangular-music/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaowenxia","download_url":"https://codeload.github.com/xiaowenxia/angular-music/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240122574,"owners_count":19751142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angular-cli","music-player"],"created_at":"2024-11-09T01:19:49.259Z","updated_at":"2026-04-13T17:32:30.786Z","avatar_url":"https://github.com/xiaowenxia.png","language":"TypeScript","readme":"# angularJS 要点\n### ng-app\n    指令定义一个AngularJS应用程序\n### ng-model\n    指令把元素（比如输入域的值）绑定到应用程序\n### ng-bind\n    指令把应用程序数据绑定到HTML视图\n### ng-repeat\n    重复一个html元素，类似于for循环,用在数组上\n```html\n\u003cli ng-repeat=\"x in names\"\u003e\n    {{x}}\n\u003c/li\u003e\n```\n### ng-show\n    当表达式是true的时候会显示标签\n```html\n\u003cspan ng-show=\"author=\"xiaxiaowen\"\"\u003e\u003c/span\u003e\n```\n### ng-click\n    绑定点击后的js函数\n```html\n\u003cbutton ng-click=\"sayHello()\"\u003e点击\u003c/button\u003e\n```\n### ng-option\n    使用 ng-option 指令来创建一个下拉列表，列表项通过对象和数组循环输出\n```html\n\u003cselect ng-init=\"selectedName = names[0]\" ng-model=\"selectedName\" ng-options=\"x for x in names\"\u003e\n\u003c/select\u003e\n```\n### ng-disable\n    该指令可以直接绑定html的disable属性\n### ng-hide\n    该指令可以隐藏/显示标签\n### ng-controller\n    定义控制Angularjs应用\n### ng-include\n    指令用来包含HTML内容，而且还可以包含AngularJS代码\n### {{表达式}}\n    表达式写到双大括号中\n### 模块(module)\n    定义Angularjs应用\n```js\nvar app = angular.module('myApp', []);\n```\n### 控制器(Controller)\n    控制Angularjs应用\n```js\napp.controller('myCtrl', function($scope){$scope.myAppName = 'Angular Music'});\n```\n### AngularJS动画\n    AngularJS 使用动画需要引入 angular-animate.min.js 库\n```html\n\u003cscript src=\"http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular-animate.min.js\"\u003e\u003c/script\u003e\n```\n    还需要摘应用中使用模型ngAnimate：\n```html\n\u003cbody ng-app=\"ngAnimate\"\u003e\n```\n    也可以通过module添加：\n```js\nvar app = angular.module('myApp', ['ngAnimate']);\n```\n### 创建制自定义的指令\n    通过.directive函数添加自定义指令名\n    (必须使用驼峰法命名指令名称，比如myTag，但是使用的时候需要用-分割，my-tag)\n```html\n\u003cbody ng-app='myApp'\u003e\n\u003cmy-tag\u003e\u003c/my-tag\u003e\n\u003cscript\u003e\n    var app = angular.module('myApp', []);\n    app.directive('myTag', function(){\n        return {\n            template : '\u003ch1\u003e自定义标签\u003c/h1\u003e'\n        };\n    });\n\u003c/script\u003e\n\u003c/body\u003e\n```\n### $rootScope(根scope) \n    所有的应用都有一个 $rootScope，它可以作用于ng-app 指令包含的所有 HTML 元素中。\n    用 rootscope 定义的值，可以在各个 controller 中使用\n### Angularjs过滤器\n过滤器可以使用一个管道字符（|）添加到表达式和指令中。\n\n### Angularjs表格\n\n    通过ng-repeat来进行循环标签，\n    $index可以获取循环中的序号\n    $even 奇数序号的时候为true\n    $odd  偶数序号的时候为true\n```html\n\u003ctable\u003e\n    \u003ctr ng-repeat=\"x in names\"\u003e\n        \u003ctd\u003e{{ $index + 1 }}\u003c/td\u003e\n        \u003ctd\u003e{{ x.Name }}\u003c/td\u003e\n        \u003ctd\u003e{{ x.Country }}\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n```\n\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003e过滤器\u003c/th\u003e\n    \u003cth\u003e描述\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ecurrency\u003c/td\u003e\n    \u003ctd\u003e格式化数字为货币格式。\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003efilter\u003c/td\u003e\n    \u003ctd\u003e从数组项中选择一个子集。\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003elowercase\u003c/td\u003e\n    \u003ctd\u003e格式化字符串为小写。\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eorderBy\u003c/td\u003e\n    \u003ctd\u003e根据某个表达式排列数组。\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003euppercase\u003c/td\u003e\n    \u003ctd\u003e格式化字符串为大写。\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n### AngularJS 服务(Service)\n    AngularJS 内建了30 多个服务。\n    $location 服务，它可以返回当前页面的URL地址。\n```js\nvar app = angular.module('myApp', []);\napp.controller('customersCtrl', function($scope, $location) {\n    $scope.myUrl = $location.absUrl();\n});\n```\n    AngularJS 会一直监控应用，处理事件变化， AngularJS 使用 $location 服务比使用 window.location 对象更好。\n\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003e服务\u003c/th\u003e\n    \u003cth\u003e描述\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e$location\u003c/td\u003e\n    \u003ctd\u003e类似 window.location 对象，可以获取当前的URL地址\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e$http\u003c/td\u003e\n    \u003ctd\u003ehttp服务，最常用的服务\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e$timeout\u003c/td\u003e\n    \u003ctd\u003e类似 window.setTimeout函数\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e$interval\u003c/td\u003e\n    \u003ctd\u003e类似 window.setInterval函数\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n  可以创建自定义服务\n```js\n/* 创建service */\napp.service('myService', function() {\n    this.myFunc = function (x) {\n        return x.toString(16);\n    }\n});\n/* 然后通过函数参数添加到控制器中，就可以使用了 */\napp.controller('myCtrl', function($scope, myService) {\n    $scope.hex = myService.myFunc(255);\n});\n```\n### AngularJS http服务\n* 注：v1.5 中$http 的 success 和 error 方法已废弃。使用 then 方法替代。 *\n```js\n/* 简单的 GET 请求，可以改为 POST */\n$http({\n  method: 'GET',\n  url: '/someUrl'\n}).then(function successCallback(response) {\n    // 请求成功执行代码\n  }, function errorCallback(response) {\n    // 请求失败执行代码\n});\n/* 简写方法 */\n$http.get('/someUrl', config).then(successCallback, errorCallback);\n$http.post('/someUrl', data, config).then(successCallback, errorCallback);\n```\n简写方法列表：\n* $http.get\n* $http.head\n* $http.post\n* $http.put\n* $http.delete\n* $http.jsonp\n* $http.patch\n### AngularJS选择框(select)\n### Angularjs路由\n    需要包含js：angular-router.js\n    然后加入到依赖模块：\n```js\nangular.module('myApp', ['ngRoute']);\n```\n    使用ngView来表示为路由页面\n```html\n\u003cdiv ng-view\u003e\u003c/div\u003e\n```\n    配置$routeProvider来定义路由规则\n```js\nmodule.config(['$routeProvider', function($routeProvider){\n    $routeProvider\n        .when('/',{template:'这是首页页面'})\n        .when('/computers',{template:'这是电脑分类页面'})\n        .when('/printers',{template:'这是打印机页面'})\n        .otherwise({redirectTo:'/'});\n}]);\n```\n    $routeProvider.when 函数的第一个参数是 URL 或者 URL 正则规则，第二个参数为路由配置对象。\n    路由配置对象语法规则如下：\n```\n$routeProvider.when(url, {\n    template: string,\n    templateUrl: string,\n    controller: string, function 或 array,\n    controllerAs: string,\n    redirectTo: string, function,\n    resolve: object\u003ckey, function\u003e\n});\n```\n* template          需要插入的HTML内容\n* templateUrl       插入HTML模板文件\n* controller        在但其模板上执行新的controller\n* controllerAs      为controller指定别名\n* redirectTo        重定向的地址\n* resolve           指定当前controller所依赖的其他模块\n### Angularjs指令列表\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003e指令\u003c/th\u003e\n\u003cth\u003e描述\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-app\u003c/td\u003e\n   \u003ctd\u003e定义应用程序的根元素。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-bind\u003c/td\u003e\n   \u003ctd\u003e绑定 HTML 元素到应用程序数据\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-bind-html\u003c/td\u003e\n   \u003ctd\u003e绑定 HTML 元素的 innerHTML 到应用程序数据，并移除 HTML 字符串中危险字符\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-bind-template\u003c/td\u003e\n   \u003ctd\u003e规定要使用模板替换的文本内容\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-blur\u003c/td\u003e\n   \u003ctd\u003e规定 blur 事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-change\u003c/td\u003e\n   \u003ctd\u003e规定在内容改变时要执行的表达式\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-checked\u003c/td\u003e\n   \u003ctd\u003e规定元素是否被选中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-class\u003c/td\u003e\n   \u003ctd\u003e指定 HTML 元素使用的 CSS 类\u003c/td\u003e\n\u003c/tr\u003e\n   \u003ctd\u003eng-class-even\u003c/td\u003e\n   \u003ctd\u003e类似 ng-class，但只在偶数行起作用\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-class-odd\u003c/td\u003e\n   \u003ctd\u003e类似 ng-class，但只在奇数行起作用\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-click\u003c/td\u003e\n   \u003ctd\u003e定义元素被点击时的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-cloak\u003c/td\u003e\n   \u003ctd\u003e在应用正要加载时防止其闪烁\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-controller\u003c/td\u003e\n   \u003ctd\u003e定义应用的控制器对象\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-copy\u003c/td\u003e\n   \u003ctd\u003e规定拷贝事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-csp\u003c/td\u003e\n   \u003ctd\u003e修改内容的安全策略\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-cut\u003c/td\u003e\n   \u003ctd\u003e规定剪切事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-dblclick\u003c/td\u003e\n   \u003ctd\u003e规定双击事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-disabled\u003c/td\u003e\n   \u003ctd\u003e规定一个元素是否被禁用\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-focus\u003c/td\u003e\n   \u003ctd\u003e规定聚焦事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-form\u003c/td\u003e\n   \u003ctd\u003e指定 HTML 表单继承控制器表单\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-hide\u003c/td\u003e\n   \u003ctd\u003e隐藏或显示 HTML 元素\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-href\u003c/td\u003e\n   \u003ctd\u003e为 the \u0026lt;a\u0026gt; 元素指定链接\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-if\u003c/td\u003e\n   \u003ctd\u003e如果条件为 false 移除 HTML 元素\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-include\u003c/td\u003e\n   \u003ctd\u003e在应用中包含 HTML 文件\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-init\u003c/td\u003e\n   \u003ctd\u003e定义应用的初始化值\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-jq\u003c/td\u003e\n   \u003ctd\u003e定义应用必须使用到的库，如：jQuery\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-keydown\u003c/td\u003e\n   \u003ctd\u003e规定按下按键事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-keypress\u003c/td\u003e\n   \u003ctd\u003e规定按下按键事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-keyup\u003c/td\u003e\n   \u003ctd\u003e规定松开按键事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-list\u003c/td\u003e\n   \u003ctd\u003e将文本转换为列表 (数组)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-model\u003c/td\u003e\n   \u003ctd\u003e绑定 HTML 控制器的值到应用数据\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-model-options\u003c/td\u003e\n   \u003ctd\u003e规定如何更新模型\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-mousedown\u003c/td\u003e\n   \u003ctd\u003e规定按下鼠标按键时的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-mouseenter\u003c/td\u003e\n   \u003ctd\u003e规定鼠标指针穿过元素时的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-mouseleave\u003c/td\u003e\n   \u003ctd\u003e规定鼠标指针离开元素时的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-mousemove\u003c/td\u003e\n   \u003ctd\u003e规定鼠标指针在指定的元素中移动时的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-mouseover\u003c/td\u003e\n   \u003ctd\u003e规定鼠标指针位于元素上方时的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-mouseup\u003c/td\u003e\n   \u003ctd\u003e规定当在元素上松开鼠标按钮时的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-non-bindable\u003c/td\u003e\n   \u003ctd\u003e规定元素或子元素不能绑定数据\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-open\u003c/td\u003e\n   \u003ctd\u003e指定元素的 open 属性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-options\u003c/td\u003e\n   \u003ctd\u003e在 \u0026lt;select\u0026gt; 列表中指定 \u0026lt;options\u0026gt;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-paste\u003c/td\u003e\n   \u003ctd\u003e规定粘贴事件的行为\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-pluralize\u003c/td\u003e\n   \u003ctd\u003e根据本地化规则显示信息\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-readonly\u003c/td\u003e\n   \u003ctd\u003e指定元素的 readonly 属性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-repeat\u003c/td\u003e\n   \u003ctd\u003e定义集合中每项数据的模板\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-selected\u003c/td\u003e\n   \u003ctd\u003e指定元素的 selected 属性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-show\u003c/td\u003e\n   \u003ctd\u003e显示或隐藏 HTML 元素\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-src\u003c/td\u003e\n   \u003ctd\u003e指定 \u0026lt;img\u0026gt; 元素的 src 属性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-srcset\u003c/td\u003e\n   \u003ctd\u003e指定 \u0026lt;img\u0026gt; 元素的 srcset 属性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-style\u003c/td\u003e\n   \u003ctd\u003e指定元素的 style 属性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-submit\u003c/td\u003e\n   \u003ctd\u003e规定 onsubmit 事件发生时执行的表达式\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-switch\u003c/td\u003e\n   \u003ctd\u003e规定显示或隐藏子元素的条件\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-transclude\u003c/td\u003e\n   \u003ctd\u003e规定填充的目标位置\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n   \u003ctd\u003eng-value\u003c/td\u003e\n   \u003ctd\u003e规定 input 元素的值\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### AngularJS 事件列表\n* ng-click\n* ng-dbl-click\n* ng-mousedown\n* ng-mouseenter\n* ng-mouseleave\n* ng-mousemove\n* ng-keydown\n* ng-keyup\n* ng-keypress\n* ng-change\n\n### AngularJS 验证属性\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003cth\u003e属性\u003c/th\u003e\n    \u003cth\u003e描述\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003e$dirty\u003c/td\u003e\n     \u003ctd\u003e表单有填写记录\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003e$invalid\u003c/td\u003e\n     \u003ctd\u003e字段内容合法的\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003e$invalid\u003c/td\u003e\n     \u003ctd\u003e字段内容是非法的\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003e$pristine\u003c/td\u003e\n     \u003ctd\u003e表单没有填写记录\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003e$error\u003c/td\u003e\n     \u003ctd\u003e错误信息\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### AngularJS 全局API\n#### 转换\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003cth\u003eAPI\u003c/th\u003e\n    \u003cth\u003e描述\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.lowercase()\u003c/td\u003e\n     \u003ctd\u003e将字符串转换为小写\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.uppercase()\u003c/td\u003e\n     \u003ctd\u003e将字符串转换为大写\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.copy()\u003c/td\u003e\n     \u003ctd\u003e数组或对象深度拷贝\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.forEach()\u003c/td\u003e\n     \u003ctd\u003e对象或数组的迭代函数\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n#### 比较\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003cth\u003eAPI\u003c/th\u003e\n     \u003cth\u003e描述\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isArray()\u003c/td\u003e\n     \u003ctd\u003e如果引用的是数组返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isDate()\u003c/td\u003e\n     \u003ctd\u003e如果引用的是日期返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isDefined()\u003c/td\u003e\n     \u003ctd\u003e如果引用的已定义返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isElement()\u003c/td\u003e\n     \u003ctd\u003e如果引用的是 DOM 元素返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isFunction()\u003c/td\u003e\n     \u003ctd\u003e如果引用的是函数返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isNumber()\u003c/td\u003e\n     \u003ctd\u003e如果引用的是数字返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isObject()\u003c/td\u003e\n     \u003ctd\u003e如果引用的是对象返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isString()\u003c/td\u003e\n     \u003ctd\u003e如果引用的是字符串返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.isUndefined()\u003c/td\u003e\n     \u003ctd\u003e如果引用的未定义返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n     \u003ctd\u003eangular.equals()\u003c/td\u003e\n     \u003ctd\u003e如果两个对象相等返回 true\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n#### JSON\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003cth\u003eAPI\u003c/th\u003e\n    \u003cth\u003e描述\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eangular.fromJson()\u003c/td\u003e\n    \u003ctd\u003e反序列化 JSON 字符串\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eangular.toJson()\u003c/td\u003e\n    \u003ctd\u003e序列化 JSON 字符串\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n#### 基础\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003cth\u003eAPI\u003c/th\u003e\n    \u003cth\u003e描述\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eangular.bootstrap()\u003c/td\u003e\n    \u003ctd\u003e手动启动 AngularJS\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eangular.element()\u003c/td\u003e\n    \u003ctd\u003e包裹着一部分DOM element或者是HTML字符串，把它作为一个jQuery元素来处理。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eangular.module()\u003c/td\u003e\n    \u003ctd\u003e创建，注册或检索 AngularJS 模块\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaowenxia%2Fangular-music","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaowenxia%2Fangular-music","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaowenxia%2Fangular-music/lists"}