【问题标题】:Combine a variable with variable value in Javascript在Javascript中将变量与变量值组合
【发布时间】:2014-05-05 11:47:15
【问题描述】:

我正在尝试在 Angular javascript(简化代码)中做这样的事情:

var modelName = "date";

if (attrs.hasOwnProperty('today')) {
   scope.modelName = new Date();
}

在上面,我实际上希望scope.modelName自动变成scope.date。如何将modelName 变量解析为其值?

【问题讨论】:

  • 你的意思是scope[modelName] = new Date()

标签: javascript angularjs variables scope angular-ngmodel


【解决方案1】:

您可以使用方括号访问对象的属性。

var modelName = "date";

if (attrs.hasOwnProperty('today')) {
   scope[modelName] = new Date();
}

【讨论】:

  • 是的……这似乎是对的。但是,在 Angular 中,当我将新的 Date() 设置为 scope[modelName] 时,它不会更新 ng-model 框。但是,如果我直接将其键入为scope.date,那么它可以工作。
  • 你能做一个jsFiddle吗?我去看看。
  • 我刚刚在 jsFiddle 中尝试过,它在那里工作。它仅在我的代码中不起作用。所以我需要检查我的代码,看看我是否在任何地方犯了错误。非常感谢您告诉我如何访问对象的属性。这正是我想要的。谢谢堆.. :)
  • @user2708395 我发现它为什么不能在我的代码上运行。如果我有modelName = "date",它可以工作,但如果modelName = "formData.date",它就不起作用。我在这里有一个 jsfiddle,它显示了一个示例。这是不允许的吗?这是 jsfiddle 链接:jsfiddle.net/6fJdk/2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-17
  • 1970-01-01
  • 2016-06-26
  • 2021-02-23
  • 2017-12-17
  • 2014-06-04
  • 1970-01-01
相关资源
最近更新 更多