angularjs-Bootbox回调问题

时间:2019-05-19 05:18:30

标签: angularjs bootbox

我有一个带有两个选项卡的视图,在第一个选项卡中,我有文本输入commentaireLien。

在控制器中,当我在启动箱中输入Confirm callback时,浏览器中的输入commentaireLiens不会刷新(带有“ test”)。
如果我进入视图的另一个选项卡,然后返回包含commentaireLiens的选项卡,则会刷新它。

我不明白为什么。

bootbox.confirm({
    size: "small",
    message: "Voulez-vous valider le CV ?",
    callback: function (result) {
        if (result) {
            vm.commentaireLiens ="test";
        } 
    }
})
<input type="text" class="form-control" name="commentaireLiens"
       id="field_commentaireLiens"
       ng-model="vm.commentaireLiens"
/>

1 个答案:

答案 0 :(得分:1)

document.addEventListener("fullscreenchange", function() {
  if (document.fullscreen) {
    console.log('Entering Full Screen Toggle');
  } else {
    console.log('Exiting Full Screen Toggle');
  }
});

AngularJS通过提供自己的事件处理循环来修改常规JavaScript流。这将JavaScript分为经典和AngularJS执行上下文。只有在AngularJS执行上下文中应用的操作才能受益于AngularJS数据绑定,异常处理,属性监视等。您还可以使用bootbox.confirm({ size: "small", message: "Voulez-vous valider le CV ?", callback: function (result) { if (result) { vm.commentaireLiens ="test"; $scope.$apply(); } } }) 从JavaScript进入AngularJS执行上下文。

请记住,在大多数地方(控制器,服务)$apply()已由处理事件的指令为您调用。仅在实现自定义事件回调或与第三方库回调配合使用时,才需要对$apply进行显式调用。

有关更多信息,请参见