所以我有一个表单,当我加载表单时,我用它调用一个函数。该函数用一些数据填充表单。
$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已更新,在console.log上我得到名称sara但表单仍为空且未更新&gt;
我在函数的末尾添加了$ scope.apply(),但它没有做任何更改。 请帮忙
答案 0 :(得分:3)
纳克控制器=&#34;的FormController&#34; UI-SREF =&#34; front.form.profile&#34;纳克单击=&#34;填充()&#34;
你也创建了子控制器,$ scope也是子范围,这样如果改变子范围的值,&#34; $ scope.formData.name&#34;父母的范围没有改变。
你可以通过指令使用双向绑定。 参考文献:https://docs.angularjs.org/guide/directive
我希望这对你有所帮助!
答案 1 :(得分:2)
您的按钮有自己的控制器:
<button ng-controller="formController"
仅为按钮创建子范围。去掉它。您还应该创建ui-sref属性,因为您不需要按钮来填充表单,而不是导航到另一个状态。