为了解决资产数字过多造成的换行适配问题,准本写一个指令根据数字长度调整数字的字体大小
1 首先说一下指令里面的scope对象
每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部的controller提供的作用域或者根作用域$rootScope),或者创建一个新的自己的作用域,angular为我们的指令scope提供了三种参数,true ,false , {},默认false
scope = false
我们可以直接使用父控制器作用域对象上的变量,函数,他们共享一个数据模型,你修改指令里的模型数据,会反映到父作用域
scope = {}
= 双向绑定前缀
@ 单项绑定前缀
& 这是一个绑定函数方法的前缀
2 link函数
主要用与写指令的dom操作,有三个参数scope,element,attrs
【主要遇到的问题】:
在link函数里面找不到传过来的 text,每次打印都undifined,这怎么办,后来通过拿到element[0]发现innerText有值,但是当你打印的时候是传递过来那个值的初始值(0),(后来请求数据做了改变),很显然angularjs指令没有检测到这个改变,拿到的是最初的值
解决办法,我们手动检测这个值的变化呀
在link函数里面写 scope.$watch('text',function(oldValue,newValue){
可以拿到newValue最新值然后判断就可以
})