我正在编写一个通用方法来从服务中获取一些数据并填充函数中传递的动态属性名称。该值确实使用 angular.element 分配分配给文本框,但未填充到模型中。以下是代码。
<div class="input-group">
<input class="form-control" id="ImgRollover" name="ImgRollover" ng-model="contentEntity.imgRollover" placeholder="" readonly="readonly" type="text">
<div class="input-group-btn">
<button class="btn" type="button" ng-click="pickImage('contentEntity.imgRollover')">
</button>
</div>
这是我的 Controller 方法,它在内部使用发回 promise 的服务
$scope.pickImage = function (attrModel) {
ImageSelector.selectImage().then(
function (value) {
//angular.element("#" + attrModel).val(value);
$scope[attrModel] = value;
});
};
attrModel 是作用域对象 contentEntity 中的一个属性名称,但该属性的名称只能通过方法参数动态得知。
最佳答案
<button class="btn" type="button" ng-click="pickImage('contentEntity', 'imgRollover')"></button>
$scope.pickImage = function (attrModel1, attrModel2) {
ImageSelector.selectImage().then(function (value) {
$scope.[attrModel1][attrModel2] = value;
});
};
应该可以
关于javascript - 在 Angular Js 中动态设置范围对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25725081/