好吧,我不知道如何在ng-click
属性上使用“动态”变量。
在这种情况下,我想要ng-click
ng-if
等参考中的更新变量
我的想法是从引用更新变量,没有create function来更新它。
控制器:
$scope.elements = [
//...
{
age:20,
dynamicallyUpdateVariableWithFollowingName:"age"
}
//...
];
查看:
<div ng-repeat="element in elements">
<a href="" ng-click="element.dynamicallyUpdateVariableWithFollowingName = 27 ">Update AGE</a>
<h1>You age is {{element.age}}</h1>
</div>
所以,我不想使用这种方法:
控制器:
$scope.elements = [
//...
{
age:20,
dynamicallyUpdateVariableWithFollowingName:"age"
}
//...
];
$scope.update = function( varname , value ){ $scope[varname] = value;}
HTML:
<div ng-repeat="element in elements">
<a href="" ng-click=" update(' dynamicallyUpdateVariableWithFollowingName', 27) ">Update AGE</a>
<h1>You age is {{element.age}}</h1>
</div>
谢谢!
答案 0 :(得分:1)
因此,您的问题是您希望在不使用任何功能的情况下更新数据,这意味着您不想使用控制器来更新数据。
所以它非常简单......
这是你的.js(控制器代码)
$scope.elements = [
{
age: 20,
dynamicallyUpdateVariableWithFollowingName: 'age'
}
];
// HTML
<div ng-repeat="element in elements track by $index">
<a href="" ng-click="element.age = 21">Update Age</a>
<h1>Your age is {{element.age}}</h1>
</div>
先谢谢
答案 1 :(得分:0)
可能会帮助你
<div ng-repeat="element in elements">
<a href="" ng-click="Update($index)">Update AGE</a>
<h1>You age is {{element.age}}</h1>
</div>
$scope.Update=function(i){
$scope.elements[i].age="new age";
}
您可以在Update
功能
这是你期待的,请点击这里http://codepen.io/keephacking/pen/yJGVNx?editors=1010
答案 2 :(得分:0)
$scope.elements = [
{
age:20,
dynamicallyUpdateVariableWithFollowingName:"age"
}
];
<div ng-repeat="element in elements">
<a href="" ng-click="element[element.dynamicallyUpdateVariableWithFollowingName] = 27 ">Update AGE</a>
<h1>You age is {{element.age}}</h1>
</div>
答案 3 :(得分:0)
我无法理解你的动态变量概念,但如果它符合你的情况,请看这个
$scope.elements = [ { age:17, Name:"age1" },
{ age:24, Name:"age2" },
{ age:33, Name:"age3" }];
$scope.changeage = function(name, age){
angular.forEach($scope.elements, function(value, key) {
if(value.Name == name){
value.age = age;
return;
}
});
}
您的HTML:
<div ng-repeat="element in elements">
<a href=""
ng-click="changeage('age' +($index +1) , ($index +1) * 20)">
Update AGE</a>
<h1>You age is {{element.age}}</h1>
</div>
请参阅fiddle