為了解決資產(chǎn)數(shù)字過(guò)多造成的換行適配問(wèn)題简十,準(zhǔn)本寫一個(gè)指令根據(jù)數(shù)字長(zhǎng)度調(diào)整數(shù)字的字體大小
1 首先說(shuō)一下指令里面的scope對(duì)象
每當(dāng)一個(gè)指令被創(chuàng)建的時(shí)候月匣,都會(huì)有這樣一個(gè)選擇,是繼承自己的父作用域(一般是外部的controller提供的作用域或者根作用域$rootScope),或者創(chuàng)建一個(gè)新的自己的作用域,angular為我們的指令scope提供了三種參數(shù),true ,false , {}婴氮,默認(rèn)false
scope = false
我們可以直接使用父控制器作用域?qū)ο笊系淖兞浚瘮?shù)盾致,他們共享一個(gè)數(shù)據(jù)模型主经,你修改指令里的模型數(shù)據(jù),會(huì)反映到父作用域
scope = {}
= 雙向綁定前綴
@ 單項(xiàng)綁定前綴
& 這是一個(gè)綁定函數(shù)方法的前綴
2 link函數(shù)
主要用與寫指令的dom操作庭惜,有三個(gè)參數(shù)scope,element,attrs
【主要遇到的問(wèn)題】:
在link函數(shù)里面找不到傳過(guò)來(lái)的 text罩驻,每次打印都undifined,這怎么辦护赊,后來(lái)通過(guò)拿到element[0]發(fā)現(xiàn)innerText有值鉴腻,但是當(dāng)你打印的時(shí)候是傳遞過(guò)來(lái)那個(gè)值的初始值(0),(后來(lái)請(qǐng)求數(shù)據(jù)做了改變)百揭,很顯然angularjs指令沒(méi)有檢測(cè)到這個(gè)改變,拿到的是最初的值
解決辦法蜓席,我們手動(dòng)檢測(cè)這個(gè)值的變化呀
在link函數(shù)里面寫 scope.$watch('text',function(oldValue,newValue){
可以拿到newValue最新值然后判斷就可以
})