ng-submit 上的 ng-init 范围变量问题

Issue with ng-init scope variable on ng-submit

我有以下带有 ng-init 范围变量的输入字段

<input type="hidden" ng-model="formData.TEST" ng-init="formdata.TEST='{{ scopeVariable }}'" value="{{ scopeVariable }}" />

从控制器获取的{{ scopeVariable }}值:

$scope.scopeVariable = '123456';

从开发人员工具检查字段值时,如下所示:

<input type="hidden" ng-model="formData.TEST" ng-init="formdata.TEST='123456'" value="123456" />

但是当使用 ng-submit 提交表单时,我得到了以下对象:

LOREM: 'IPSUM'
IPSUM: 'LOREM'
TEST: "{{ scopeVariable }}"

如何正确初始化模型值?

ng-init已经是一个表达式,所以你不需要添加车把。

ng-init="formdata.TEST = scopeVariable" 应该足够了。

还要注意套管。 formDataformdata 是两个不同的对象!最后,value 属性是不必要的,因为您有 ng-model。所以我会写成:

<input type="hidden" ng-model="formData.TEST" ng-init="formData.TEST = scopeVariable" />