Javascript 如何将模型名传递给函数并更改其值

Javascript 如何将模型名传递给函数并更改其值,javascript,angularjs,Javascript,Angularjs,在我看来,这确实是一个相当直截了当的问题,但由于某种原因,我在进行了大量搜索之后,无法找到解决方案。如果是复制品,请原谅 问题是我想把一个“模型”传递给一个函数,并在那里改变它的值 因此,在HTML中,我有以下内容: <input type='button' value='click here' ng-click="CreatePlayer.toggleSidenav(CreatePlayer.someVal)" /> 现在,如果我console.log(目标) 我确

在我看来,这确实是一个相当直截了当的问题,但由于某种原因,我在进行了大量搜索之后,无法找到解决方案。如果是复制品,请原谅

问题是我想把一个“模型”传递给一个函数,并在那里改变它的值

因此,在HTML中,我有以下内容:

<input type='button' value='click here'
       ng-click="CreatePlayer.toggleSidenav(CreatePlayer.someVal)" />
现在,如果我
console.log(目标)
我确实得到了这个模型的当前值。但是如果我设置
target='blah'它不会更新HTML中的值

有人能帮我理解我做错了什么吗

多谢各位

更新 感谢大家抽出时间阅读问题。 下面是我刚刚写的一个JS提琴来解释我的问题:

问题是,在控制器内部有一个函数,在该函数内部,我能够读取作为参数传递的值,但无法将其设置为另一个值。我不想为每种情况创建一个新函数。我最好使用相同的函数,只传递一个不同的模型作为参数,以应用我希望对其值执行的任何操作。谁能帮我理解我做错了什么


提前谢谢大家

您不需要将值传递给函数,因为您的模型值会自动更改$scope变量updated

<input type='button' value='click here'ng-click="CreatePlayer.toggleSidenav()" />

在控制器中设置您的值


$scope.CreatePlayer.CreatePlayer=“blash”

在模板中,将范围变量的名称作为字符串参数传递:

<div ng-controller="CreatePlayerController as CreatePlayer">
    {{CreatePlayer.someVar}}
    <input type='button' value='click here'
           ng-click='CreatePlayer.updateValueOf("someVar")' />
</div>

当你问一个由你的代码引起的问题时,如果你提供人们可以用来重现问题的代码,你会得到更好的答案。请参阅。完成–提供重现问题所需的所有零件。显示控制器及其实例化方式:controllerAs语法还是vanilla语法?是
CreatePlayer
附加到$scope还是控制器的
this
上下文?@georgeawg添加了JS Fiddle。问题是我想使用相同的函数来管理多个作用域变量,并对所有这些变量执行操作。请检查附加的JS Fiddle.HTML更改,如下所示,在控制器中设置您的值;CreatePlayer.updateValueOf=函数(目标){console.log(CreatePlayer.someVar);CreatePlayer[target]=“test”console.log(CreatePlayer.someVar);}完美!这正是解决方案:)
<div ng-controller="CreatePlayerController as CreatePlayer">
    {{CreatePlayer.someVar}}
    <input type='button' value='click here'
           ng-click='CreatePlayer.updateValueOf("someVar")' />
</div>
this.updateValueOf = function updateValueOf(target){
  this[target] = 'Some other value.';
};