【问题标题】:Set dynamic model variable inside angular js scope在角度 js 范围内设置动态模型变量
【发布时间】:2014-05-12 12:38:44
【问题描述】:

我有一个范围闭包。

... function(scope) {
    ...
});

在范围内,我希望发生这种情况:

$scope.favoriteTitle = 'some value'

问题:favoriteTitle 不能是字符串。它必须是动态生成的(显然因为有很多这样的<item>Title 可能。

这是我目前所拥有的。

scope[var + 'Title'] = 'some value'

但这并没有将所需的值分配给范围变量。

我还使用batarang inspector 进行了检查,并确认没有将变量分配给范围。

我还在该属性上添加了$watch,并且oldvalue, and newvalue 都是undefined

【问题讨论】:

  • 也许你可以利用 angular.extend
  • 您使用的是 scope 还是 $scope? $scope[var + 'Title'] = 'some value' 对我有用:fiddle
  • 看来我的错。对此的调用函数有超时。超时似乎会产生一些问题,这些问题特定于我的场景,为了简洁起见,最初已从问题中删除

标签: javascript angularjs angularjs-directive angularjs-scope


【解决方案1】:

试试这个

$scope.functionName = function (index) {
        var indexVal = 'anyString' + index;   // suppose index = 1
        $scope[indexVal] = true;      // $scope.anyString1 = true;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2013-09-23
    • 1970-01-01
    相关资源
    最近更新 更多