我是Angular的新人,我盯着在一个项目中工作,女巫正在将它用于前端。事情是。我有一个下拉列表,其值为1,2,3等...当您在下拉列表中选择某些内容时,取决于您点击的内容。 currentEntry变量正在更改值并过滤数据value="{{entry['properties'][currentEntry]['password']}}"
。当我有简单的输入标签时,这非常有效。
但是当我这样做时:
<input type="password" name="pasword" ng-model="password" ng-change="addProperty(password,'password')" class="form-control" placeholder="Password" value="{{entry['properties'][currentEntry]['password']}}">
发生了什么,当我在代码中检查元素而不是在客户端上检查元素时,值的适当性正在发生变化。
我意识到价值存储在ng-model中,所以我需要以某种方式创建这个模型dinamicaly例如当我点击下拉项目时女巫有价值1 ng-model应该看起来像这样的ng-model =&# 34;密码1&#34;等...
我将此号码存储在变量&#34; currentEntry&#34;所以我试着做这样的事情
<input type="password" name="pasword" ng-model="password{{currentEntry}}"......>
但我收到语法错误
Token '{' is an unexpected token at column 9 of the expression [password{{currentEntry}}] starting at [{{currentEntry}}].
如何解决这个问题?
答案 0 :(得分:3)
你不能像Javascript那样做动态变量(这不是php)。而是使用函数或对象。
<强>功能强>
$scope.password = function(){
//use $scope.currentEntry here
return value;
}
并在您的视图中
<input type="text" ng-model="password()"/>
<强>对象强>
另一种可能性是
<input type="text" ng-model="passwords[currentEntry]">
其中$scope.passwords
是包含您的密码的对象。
$scope.password= {1: 'a password', 2: 'another password'}
有关Javascript中动态变量的更多信息,请参阅Use dynamic variable names in JavaScript。