$provider.factory和$provider.service不同之处
factory可以返回任何类型,service只能返回对象,不能返回字符串等
可以通过factory中定义数据变量共享数据
<div ng-controller='firstController'> <input type="text" ng-model='Data.message' /> <p>{{Data.message}}</p> <div ng-controller='secondController'> <input type="text" ng-model='Data.message' /> <p>{{Data.message}}</p> </div> </div>
var m1=angular.module('myApp',[]); m1.factory('Data',function(){ return { message:'data' } }); m1.controller('firstController',function($scope,Data){ $scope.data={ name:'123' } $scope.Data=Data; }); m1.controller('secondController',function($scope,Data){ $scope.Data=Data; });
filter在过滤时匹配的是json的value值不匹配key值
filter:function会根据函数过滤,返回真保留,弃假
{{expression|filter:'shanghai'}}匹配expression中value值有上海的数据
{{expression|filter:{{name:'g'}}}}匹配expression中value值有g的数据
{{expression|orderBy:name}}}}以key值name正序排序
{{expression|orderBy:-name}}}}以key值name反序排序
transclude作用
.directive('myTag',function(){
return{
restrict:'AE',
template:'<div>新数据<span ng-transclude></span></div>',
transclude:true
});
得到的结果:新数据 旧数据
一个标签中指令不能有两个template
指令的scope中false为默认值等同于当前controller的scope,变量共享
当为true是继承controller中$scope的独立作用域,能读取父$scope 的数据