javascript - 在 Angular Js 中动态设置范围对象的属性

标签 javascript angularjs angularjs-scope

我正在编写一个通用方法来从服务中获取一些数据并填充函数中传递的动态属性名称。该值确实使用 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/

相关文章:

javascript - Angular 翻译不适用于分页按钮

javascript - 尝试调用 Controller 方法时,Angular 指令抛出 $digest已经在进行中

javascript - HTML 使用 javascript、ajax、jquery 更改内容

javascript - 如何在 AngularJS 中编写返回 true/false 的服务?

css - 在页面加载时淡入图像

javascript - 服务内部的数据更改不会更新范围

javascript - 无法读取未定义的属性 '$scope'

JavaScript 数组未通过 AJAX 传递给 PHP

javascript - 使用 ramda 展平各种数组

javascript - 需要在 Protractor 中播放本地 MP3 文件