1.使用$stateParams前要先注入這個服務(wù)局蚀。
它主要是用于提取路由中所帶的參數(shù)。比如從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对人。
第一種寫法是一種內(nèi)聯(lián)的寫法,先列出所有需要的依賴拂共,然后在function中按順序添加依賴牺弄,比如['$scope', 'serviceA', 'serviceB', function($scope, serviceA, serviceB){}],這種寫法的好處在于即使使用gulp等工具壓縮了文件,改變了服務(wù)名字宜狐,這些寫法也不會有問題势告,所以是一種推薦的寫法,只不過要寫的比較多抚恒,還要在function中按前面的順序?qū)懗鏊械囊蕾嚒?br>
后面的一種寫法是程序根據(jù)依賴的服務(wù)名自動去依賴注入咱台,這樣寫比較簡單,也沒有什么順序需要遵守俭驮,但是如果使用了gulp等工具進(jìn)行了壓縮回溺,服務(wù)名被改變了,那么程序就會出錯混萝,找不到所需要的依賴服務(wù)
3.people = {"name": 'sssss',"age": 8}那么這時候遗遵,ng-repeat="(index, object) in people"循環(huán)的時候,(index, object)代表的就是一個鍵值對逸嘀,index為name, object為sssss车要,下一個循環(huán)的時候,index為age,object就為8.對于上面的people厘熟,如果是用p in people,那么p代表的就是"name": 'sssss'屯蹦,或者是"age": 8.你用兩種循環(huán)都試試,然后在頁面上把每一個都都顯示出來绳姨,看看是什么內(nèi)容<div ng-repeat="(index, object) in people">{{index}}―{{object}}</div><div ng-repeat="p in people">{{p | json}}</div>針對這種people = {"name": 'sssss',"age": 8}的對象,要去循環(huán)的時候通常就需要使用(key, value)阔挠,如果是一個數(shù)組的話飘庄,就直接用p in people就可以如果peoples是數(shù)組的話,那么在使用(index, object)的時候购撼,index表示的就是鍵值跪削,而數(shù)組的鍵值就是0谴仙,1,2碾盐,對應(yīng)的object值就是peoples[0],peoples[1]晃跺,peoples[2]在js里面,數(shù)組其實也是對象毫玖,你把他們都看作一個一個的鍵值對掀虎,只不過數(shù)組的鍵就是0,1付枫,2烹玉,而已,就是index的值阐滩,而object表示的是鍵所對應(yīng)的值二打,在數(shù)組中就是peoples[0],peoples[1],peoples[2]
4.綁定的時候綁定要一個對象上面掂榔,而不是直接在$scope上加屬性继效。
比如現(xiàn)在我要顯示人的名字和年齡,可以在$scope上加兩個屬性装获,$scope.name和$scope.age瑞信,在頁面中顯示就是{{name}}和{{age}}。但是更推薦的做法是定義一個對象饱溢。$scope.people = {}$scope.people = {name: '',age: ''}在頁面中顯示值就是{{people.name}}和{{people.age}}這兩種都是可行的喧伞。不過后面一種屬性更集中還有在某些使用環(huán)境下,在$scope上直接加的屬性無法起作用.盡量能集中在一個對象里面就把屬性集中在一個對象里绩郎,但也不勉強(qiáng)潘鲫。
5.$root是用于在頁面中調(diào)用$rootScope中的變量定義了一個$rootScope.v1,那么在頁面中就可以使用$root.v1
6.這是你跳轉(zhuǎn)的按鈕肋杖,那么進(jìn)入編輯頁面之后溉仑,row.id的值就付給了rules_id,在url中用{}擴(kuò)起來的表明是參數(shù),那么在編輯頁中要獲取這個參數(shù)状植,就要用到$stateParams這個服務(wù)浊竟。要獲取這個值就用$stateParams.rules_id如果在url中定義的是/rules/{id}/edit,那么獲取這個參數(shù)$stateParams.id你在編輯頁中是使用href進(jìn)行跳轉(zhuǎn)的津畸。在angular 中一種常見的跳轉(zhuǎn)是用ui-sref進(jìn)行跳轉(zhuǎn)振定。<div ui-sref="stateA({paramA:valueA, paramB:valueB})"></div>這個時候點擊這個div,就會跳轉(zhuǎn)到stateA的頁面肉拓,跳轉(zhuǎn)中傳遞了兩個參數(shù)paramA和paramB后频,在stateA的控制器中就可以通過$stateParams來獲取這兩個參數(shù)。$stateParams.paramA和$stateParams.paramB