Angular JS不会更新日期日历中的选择和输入

时间:2016-04-20 20:55:13

标签: javascript angularjs twitter-bootstrap

我正在使用Angular JS和Bootstrap,我想更新一个日期选择器日历的输入和一个函数的选择。

值已更新,但我无法在相应的输入上看到这些值。

我们可以说我更新了模型而不是视图。如果我从视图中更新模型,一切正常,但不是相反。

以相同的形式,如果我更新一个制作clic的复选框...惊喜。选择和日期选择器日历已更新。

如何从模型更新视图并查看此更新?

修改1:

HTML

<select ng-model = "searchPAI.sistemaSelected" class="form-control" ng-options="sistema.nombreSistema for sistema in listSistemas">
</select>
<p class = "input-group" ng-controller = "dpFechaDesde">
    <input type = "text" class = "form-control" uib-datepicker-popup = "{{format}}" name = "dtInicio" ng-model = "dateFrom" is-open = "popup1.opened" ng-change = "change2()"
    min-date = "minDate" max-date = "maxDate" datepicker-options = "dateOptions" close-text = "Cerrar" clear-text = "Borrar" now-text = "Hoy" />
    <span class="input-group-btn">
        <button type="button" class="btn btn-default" ng-click="open1()"><i class="glyphicon glyphicon-calendar"></i></button>
    </span>                     
</p>

JS:

$scope.searchPAI.sistemaSelected = $scope.listSistemas[id];
$scope.$on("updateFechaDesde", function(){
        $scope.dateFrom = publicDPFactory.date;
        MyVar.data.dtFrom = publicDPFactory.date;
        console.log("publicDPFactory.date: " + publicDPFactory.date);
        console.log("scope.dateFrom: " + $scope.dateFrom);
});

我记得,如果我从视图中更新模型,一切正常。

编辑2:

更多惊喜!我之前说过,我从模型中更新了值,但我无法在视图中看到这些值。

enter image description here

但是,如果我做了一个陈词滥调&#34; SI&#34; ......惊喜!!!我可以在视图上看到更新的值。您现在可以看到select和datapicker已更新。

enter image description here

1 个答案:

答案 0 :(得分:0)

修正了它!!!

要更新模型中的视图,在更新模型后,您必须调用...

$scope.$apply();

现在你可以看到所有的变化!!!

enter image description here

您如何看待,我不需要对表单中的任何其他组件进行任何clic,以查看我在视图中的模型中更新的值。