我正在尝试将输入字段的值绑定到变量。我不知道这个变量的名字 是先验的 ;它存储在另一个变量中。
这是html:
<body ng-controller="stageController">
<form name="myForm" novalidate="">
<input type="text" name="myText" ng-model="model" />
</form>
</body>
这是控制器:
function stageController($scope) {
$scope.model = 'realModel'; // contains the name of the variable that i would bind to the field
$scope.realModel = 'initial value of the field';
}
我也 弄了个小提琴。
这是行不通的,因为当前绑定是在输入字段和model
变量之间。相反,我将输入字段绑定到变量,该变量的名称存储在$scope.model
变量中(在本例中为realModel
)。
可能吗? 怎么样?
是的,有可能。我不明白您为什么要这样做,但是我可以告诉您如何做。我无法启动小提琴,但是我将其复制到了plnkr:http
://plnkr.co/edit/o1gFf1lMq4Pg5iVoVyUN?p=preview
您创建了一条指令,该指令使用$ compile将原始模板转换为新模板。新指令:
directive('ngBindModel',function($compile){
return{
compile:function(tEl,tAtr){
tEl[0].removeAttribute('ng-bind-model')
return function(scope){
tEl[0].setAttribute('ng-model',scope.$eval(tAtr.ngBindModel))
$compile(tEl[0])(scope)
console.info('new compiled element:',tEl[0])
}
}
}
})
更新了html(新指令从ng-model更改为ng-bind-model)
<input type="text" name="myText" ng-bind-model="model" />
问题内容: 我想了解原始和对象引用变量的行为方式不同。我以Kathy Sierra的 OCA / OCP Java SE7中 的以下代码为例: 在上面的代码中,我获得了更改之前和之后的值。 基本变量case的输出为: 但是,在对象引用变量中,一旦更改了的值,我将获得不同的值 参考变量大小写的输出为: 书中提到在两种情况下都复制位模式并放置新副本。如果这是真的,那为什么我们会得到不同的行为呢? 问题
假设be有两个变量 有了上面的信息,是否有方法使?
问题内容: 我在Javascript中有一组全局计数器变量: 等等 然后,我有了一个Javascript函数,该函数接受一个映射到这些全局计数器的“索引”数字。在此函数内部,我需要使用传递给该函数的“索引”值来读写这些全局计数器。 我希望它如何工作的示例,但当然根本不起作用: 我希望我要实现的目标是明确的。如果没有,我会尽力澄清。谢谢。 编辑说明: 我不是要增加计数器的名称,而是要增加计数器包含的
变量绑定默认是不可变的,但加上 mut 修饰语后变量就可以改变。 fn main() { let _immutable_binding = 1; let mut mutable_binding = 1; println!("Before mutation: {}", mutable_binding); // 正确代码 mutable_binding += 1
当你使用了一个未知的变量名,通常 JavaScript 会自动创建全局变量: function f() { foo = 123 } f() foo 123 好在你会在 ECMAScript5 的严谨模式得到警告[1]: function f() { 'use strict'; foo = 123 } f() ReferenceError: foo is not defined 参考 [1] Jav
可能重复: Java中的动态变量名: 假设我有一个字符串,如下所示。 现在,我想创建一个字符串,但是字符串的变量将被称为“Hello”。为了使字符串名为“Hello”,我必须访问string以获取名称“Hello”,这样我就可以将其用作变量名。下面是我想看的。 感谢您的努力,请尝试向我解释,因为我是Java初学者D