发表于: 2017-01-20 02:33:26

1 1402


今天完成的事情:看了angularJS权威教程关于自定义指令,小猫杯关于过滤器。

明天计划的事情:继续看angularJS权威教程,向天云师兄请教后台的知识。

收获:

1:用ng-repeat指令遍历一个javascript数组,当数组中有重复元素的时候,angularjs会报错,这是因为ng-Repeat不允许collection中存在两个相同Id的对象。

对于数字或者字符串等基本数据类型来说,它的id就是它自身的值。因此数组中是不允许存在两个相同的数字的。为了规避这个错误,需要定义自己的track by表达式。

// 业务上自己生成唯一的id
item in items track by item.id

//或者直接拿循环的索引变量$index来用
item in items track by $index

如果是javascript对象类型数据,那么就算内容一摸一样,ng-repeat也不会认为这是相同的对象。如果将上面的代码中dataList,那么是不会报错的。比如$scope.dataList = [{"age":10},{"age":10}];

2:自定义一个服务angular.module('myApp').factory('服务名',['需要注入的内容','需要注入的内容 ',function('需要注入的内容,需要注入的内容'){
         return{

                    xxxx:function(){
          },
                    xxxx:function(){


          },
     }
}])
3:两个控制器之间共享数据:
思路:建立一个服务,服务里面包含数据,在不同的控制器中注入服务,再在控制器中获取服务里的数据
angular.module('myApp', [])
    .factory('Date'function () {
        return {
            message'共享数据'
        }
    })
    .controller('firstCtrl', ['$scope''Date'function ($scope, Date) {
        $scope.date Date
    }])
    .controller('secondCtrl', ['$scope''Date'function ($scope, Date) {
        $scope.date Date
    }])
  
4:在控制器中用filter   先注入filter
var res = filter(‘过滤器的名字’)(过滤的内容)  



返回列表 返回列表
评论

    分享到