我正在使用angular-bootstrap中的 accordion指令并试图操纵其is-open
属性,以便我可以将值存储在 localStorage 中。我从观看属性值开始,但它始终只显示为真:
控制器:
$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">
任何人都可以指导我做错了什么,有更好的方法吗? (我相信是)
答案 0 :(得分:3)
原语按值传递,换句话说它们被复制,你的指令实际上是在更改副本而不是范围内的原始变量。尝试将其包装到对象中:
$scope.accordion = {
accordionState : true
}