使用函数参数选择angularjs变量
select angularjs variable using function parameter
我有这样的函数:
$scope.activeimageset = function(id){}
现在,我将一些参数作为ID传递给提到的函数,我想使用收集的参数来选择一些变量,比如:
$scope.activeimageset = function(id){$scope.img{{id}}.src1 = $scope.img{{id}}.src2;}
这意味着我想使用传递给函数的参数来选择某个对象,然后将该对象的一个属性设置为另一个属性。我该怎么做?我知道我的代码是错误的,不起作用,但我想知道如何使它起作用?
您可以这样重写您的函数:
$scope.activeimageset = function(id){
$scope['img' + id].src1 = $scope['img' + id].src2;
};
在JS中,您可以使用两种方法来获取属性值,它们是点符号和方括号符号 以下是使用这些方法的基本示例: 总结: 点记法写起来更快,读起来更清楚。 方括号表示法允许访问包含var obj = {
prop1: 'prop1 value',
prop2: [1,2,3]
}
var propName = 'prop2';
console.log(obj.prop1); // 'prop1 value'
console.log(obj[propName]); '[1, 2, 3]'
的属性特殊字符和使用变量选择属性(就像您的情况一样(。
这里假设您有作为阵列的图像列表
您必须根据传递的参数,即id,从图像阵列中找出对象。
在您的控制器中
$scope.imgs = [{
id: 1,
src1: 'red.jpg',
src2: 'green.jpg'
}, {
id: 2,
src1: 'black.jpg'.
src2: 'yellow.jpg'
}]
$scope.activeimageset = function(id){
$scope.img = $scope.imgs.filter(function(img) {
return img.id === id;
});
$scope.img.src1 = $scope.img.src2;
}
$scope.activeimageset = function(id) {
$scope.listOfObjs; //it is array where all objects are stored
$scope.dummyAttr; //attr you want to change from object you will get from param
var requiredObj = ($scope.listOfObjs).filter(function( obj ) {
return obj.id === id; //returns object with passed id
});
$scope.dummyAttr = requiredObj.attr;
}
希望这就是你想要的
相关文章:
- Ionic:AngularJS变量未使用$scope更新DOM
- 浏览器's将AngularJS变量加载为URL
- 将AngularJS变量发送到新的弹出窗口
- AngularJS变量转换为html<对象>属性
- 如何在javascript数据字段中绑定AngularJs变量
- 错误:AngularJs 变量未定义,当使用 grunt 运行时.(泽泽尔)
- AngularJS变量未显示在html中
- 如何在 JavaScript 函数中包含 AngularJS 变量
- 在$http之前调用时不显示 Angularjs 变量
- 将 JavaScript 数组值分配给 AngularJS 变量
- 将 Json 文件存储在 AngularJS 变量中,以便与“ng-repeat”一起使用
- AngularJs变量未显示在视图中
- angularjs变量无法在函数调用外访问
- 如何在脚本中定义angularjs变量
- 如何从模板脚本访问AngularJS变量
- Angularjs变量undefined、null和empty同时出现
- 如何将AngularJS变量绑定为一个Polymer全局变量
- 当AngularJS变量在$scope中定义时使用对象名
- Angularjs -变量未找到
- 用JavaScript添加新的AngularJS变量