问题描述
我正在使用来自angular-bootstrap的手风琴指令 ,并尝试操纵其is-open
属性,以便可以将值存储在localStorage中 。
我从观察属性值开始,但是它始终一直显示true:
控制器:
$scope.accordionState = true;
$scope.$watch('accordionState',function(newVal,oldVal){
console.log(newVal,oldVal);
} //showing true,true even when accordion is closed
视图:
<accordion-group heading="Main Information" is-open="accordionState">
谁能指导我做错了什么,还有更好的方法吗? (我确定是)
1楼
基元按值传递,也就是说它们被复制,并且您的指令实际上是在更改副本,而不是作用域上的原始变量。 尝试将其包装到对象中:
$scope.accordion = {
accordionState : true
}