今天把前几天遇到的一个问题给理下,这个问题是这样的同一页面下要呈现不同的两个数据列表,这个两个数据列表的展示形式是左右前排,右边这一列的数据会随着左边的列表按钮的点击展示对应该数据下的数据列表,如同父子级的关系。但在实践过程中出现了一个问题,就是写在 directive 里面的 link 方法中 click 事件触发了,并且 $scope 中的自定义对象也发生了改变,但右边的列表没有发生改变。
下面是效果示意图
后来在一位非常牛X的前端同事的提示下才发现需要在 directive 里面的 link 方法中 click 事件中要加上 $scope.$apply(); 他说这是强制刷新。