Angularjs angualJS初始值显示在<;输入>;
我有这个输入表格:Angularjs angualJS初始值显示在<;输入>;,angularjs,Angularjs,我有这个输入表格: <input title="Taper le nouveau nom" type="text" class="form-control" ng-value="file.name"/> 它工作正常,显示文件名(我有一个作用域) 现在我需要获取用户键入的值,因此我添加了ng model=“newname” 但这样就不会显示初始值(file.name) 如何解决此问题?ng model=“file.newname”说明:此输入字段中的值双向绑定到范围中对象
<input title="Taper le nouveau nom" type="text" class="form-control" ng-value="file.name"/>
它工作正常,显示文件名(我有一个作用域)
现在我需要获取用户键入的值,因此我添加了ng model=“newname”
但这样就不会显示初始值(file.name)
如何解决此问题?ng model=“file.newname”
说明:此输入字段中的值双向绑定到范围中对象文件
的属性newname
。修改输入中的值将修改模型,修改模型将修改输入中的值
因此,只需确保控制器将$scope.file.newname
初始化为您最初希望输入的值:
$scope.file.newname = 'the new name';
您可以使用ng init初始化该值
<div ng-init="file.newname=file.name">
<input ng-model="file.newname" ng-value="file.name"/>
</div>
尝试ng模型而不是ng值我不清楚您想做什么。看起来您使用的是相同的输入。是这样吗?无论他们在框中键入什么,file.name都将被设置为。谢谢您的回答。我使用ng repeat获取文件列表,然后对于每个文件,当我想重命名它时,我想在输入表单中看到文件的旧名称,然后修改它。因此,我通过使用nginit=“newname=file.name”
解决了我的问题,这是一种糟糕的做法。阅读文章顶部的红色部分。在控制器中使用JS代码来初始化每个文件的新名称。这是一种糟糕的做法。警告:ngInit的唯一适当用法是对ngRepeat的特殊属性进行别名,如下面的演示所示。除此之外,您还应该使用控制器而不是ngInit来初始化作用域上的值。@jbniset但OP说他/她正在使用ng repeat,这种情况适用于ng init..不,一点也不。再次阅读文档,尤其是“如下面的演示所示”。OP所需要的只是控制器中的一个循环,用于初始化每个文件的newname属性。OP不需要从内部循环访问外部循环的$index。
<div ng-init="file.newname=file.name">
<input ng-model="file.newname" ng-value="file.name"/>
</div>