我正在使用$ scope从指令的隔离范围更新父变量的值。$ parent.parentvariable.field = newfield。
当我像console.log($ scope。$ parent.parentvariable.field)一样进行控制时,该字段包含在控制台中看到的新值。但是,应该更新的模板(因为它与字段绑定)没有得到更新。
使用$ apply()作为$ scope。$ parent。$ apply()在使用错误中抛出$ digest。
这里出了什么问题?
尝试做类似的事情:
$scope.$parent.group_levers.levers.forEach(function (lv,indexLever) {
if (lv.RFLeverId == lever.RFLeverId) {
lv.description.leverValue.forEach(function (leverVal, indexLeverVal) {
if (leverVal.RFLeverValueId == splashResponseRaw.levers[0].description.leverValue[0].RFLeverValueId) {
$scope.$parent.group_levers.levers[indexLever].description.leverValue[indexLeverVal] = splashResponse;
//$scope.$parent.$apply();
}
})
}
})
$timeout(function () {
$scope.$parent.$apply();
}, 10)
答案 0 :(得分:0)
试试这个。在运行一小部分毫秒之后。
$timeout(function(){
scope.$apply();
},100)