使用$ scope从指令的隔离范围更新父变量的值。$ parent不更新模板

时间:2015-10-28 12:17:15

标签: javascript angularjs

我正在使用$ 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)

1 个答案:

答案 0 :(得分:0)

试试这个。在运行一小部分毫秒之后。

$timeout(function(){
  scope.$apply();
},100)