angularJS----笔记1

1.使用$stateParams前要先注入这个服务。
它主要是用于提取路由中所带的参数。比如从A路由到B,在A的controller中有这么一条语句:$state.go('B',{id: value});那么在B的控制器中就可以获取到这个id的值,$stateParams.id。或者是在A的页面中有ui-sref="B({id: value})",那么在B的控制器中也可以获取到这个id的值.

(1)app.controller('myController',['$scope',function($scope){}]);(2)app.controller('myController',function($scope){});这两种方法都是可以的。都是angular中依赖注入的写法,其实还有一个写法,你可以看看https://docs.angularjs.org/guide/di。
第一种写法是一种内联的写法,先列出所有需要的依赖,然后在function中按顺序添加依赖,比如['$scope', 'serviceA', 'serviceB', function($scope, serviceA, serviceB){}],这种写法的好处在于即使使用gulp等工具压缩了文件,改变了服务名字,这些写法也不会有问题,所以是一种推荐的写法,只不过要写的比较多,还要在function中按前面的顺序写出所有的依赖。
后面的一种写法是程序根据依赖的服务名自动去依赖注入,这样写比较简单,也没有什么顺序需要遵守,但是如果使用了gulp等工具进行了压缩,服务名被改变了,那么程序就会出错,找不到所需要的依赖服务
3.people = {"name": 'sssss',"age": 8}那么这时候,ng-repeat="(index, object) in people"循环的时候,(index, object)代表的就是一个键值对,index为name, object为sssss,下一个循环的时候,index为age,object就为8.对于上面的people,如果是用p in people,那么p代表的就是"name": 'sssss',或者是"age": 8.你用两种循环都试试,然后在页面上把每一个都都显示出来,看看是什么内容

{{index}}―{{object}}
{{p | json}}
针对这种people = {"name": 'sssss',"age": 8}的对象,要去循环的时候通常就需要使用(key, value),如果是一个数组的话,就直接用p in people就可以如果peoples是数组的话,那么在使用(index, object)的时候,index表示的就是键值,而数组的键值就是0,1,2,对应的object值就是peoples[0],peoples[1],peoples[2]在js里面,数组其实也是对象,你把他们都看作一个一个的键值对,只不过数组的键就是0,1,2,而已,就是index的值,而object表示的是键所对应的值,在数组中就是peoples[0],peoples[1],peoples[2]
4.绑定的时候绑定要一个对象上面,而不是直接在$scope上加属性。
比如现在我要显示人的名字和年龄,可以在$scope上加两个属性,$scope.name和$scope.age,在页面中显示就是{{name}}和{{age}}。但是更推荐的做法是定义一个对象。$scope.people = {}$scope.people = {name: '',age: ''}在页面中显示值就是{{people.name}}和{{people.age}}这两种都是可行的。不过后面一种属性更集中还有在某些使用环境下,在$scope上直接加的属性无法起作用.尽量能集中在一个对象里面就把属性集中在一个对象里,但也不勉强。
5.$root是用于在页面中调用$rootScope中的变量定义了一个$rootScope.v1,那么在页面中就可以使用$root.v1
6.这是你跳转的按钮,那么进入编辑页面之后,row.id的值就付给了rules_id,在url中用{}扩起来的表明是参数,那么在编辑页中要获取这个参数,就要用到$stateParams这个服务。要获取这个值就用$stateParams.rules_id如果在url中定义的是/rules/{id}/edit,那么获取这个参数$stateParams.id你在编辑页中是使用href进行跳转的。在angular 中一种常见的跳转是用ui-sref进行跳转。
这个时候点击这个div,就会跳转到stateA的页面,跳转中传递了两个参数paramA和paramB,在stateA的控制器中就可以通过$stateParams来获取这两个参数。$stateParams.paramA和$stateParams.paramB

你可能感兴趣的:(angularJS----笔记1)