为什么表单没有更新,而$scope执行AngularJS



所以我有一个表单,当我加载表单时,我用它调用了一个函数。该函数用一些数据填充表单。

$scope.fill = function {
                            $scope.formData.name = 'Sara';
                            console.log($scope.formData.name);
                        })

在索引视图上,我有以下内容:

<div class="form-group">                
<input type="text" class="form-control" name="name" ng-model="formData.name"></div>

所以当我按下按钮时:

<button ng-controller="formController" ui-sref="front.form.profile" ng-click="fill()">Fill</button>

我希望有关名称的表单填充我定义的值。

我遇到的问题是$scope已更新,在控制台上.log我得到了名称 sara 但表单仍然为空并且没有更新>

我在函数末尾添加了$scope.apply(),但它没有进行任何更改。请帮忙

ng-controller="formController" ui-sref="front.form.profile" ng-click="fill()"

您还创建了子控制器,也$scope子范围,因此,如果您更改子作用域的值,父作用域的"$scope.formData.name"值不会更改。

您可以使用双向绑定通过指令。参考资料: https://docs.angularjs.org/guide/directive

希望对您有所帮助!

您的按钮有自己的控制器:

<button ng-controller="formController"

这将仅为按钮创建子作用域。删除它。您还应该创建 ui-sref 属性,因为您不想使用按钮来填写表单,而不是导航到另一个状态。

最新更新