所以我有一个表单,当我加载表单时,我用它调用了一个函数。该函数用一些数据填充表单。
$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 属性,因为您不想使用按钮来填写表单,而不是导航到另一个状态。