【发布时间】:2017-04-08 00:38:01
【问题描述】:
我创建了一个指令,它将 textbox1 的值复制到 textbox2。
function myCopyText() {
return {
restrict: 'A',
link: function(scope, element, attr) {
$('#textbox2').val($('#textbox1').val())
}
}
}
然后在文本框字段上:
<input type="text" id="textbox1" ng-model="vm.textbox1" my-copy-text />
<input type="text" id="textbox2" ng-model="vm.textbox2" />
在我提交其中vm.textbox2 始终未定义的表单之前,它工作正常。但是如果我在 textbox2 上手动输入一个值,vm.textbox2 可以显示该值。
我觉得奇怪的是,当指令进行值分配时,vm.textbox2 的值始终是未定义的,直到我手动输入一个值。
【问题讨论】:
-
您对两个输入使用相同的
id="textbox1" -
$('textbox2')正在寻找一个元素,你忘了#描述一个ID -
对不起,已经修改了上面的sn-p。将它们放在这里时只是一些错字,但无论如何..仍然不起作用。
-
这是设计使然。为什么不对两个输入使用相同的 ngModel?
-
我已经在文本框上使用了 ngModel。
标签: javascript angularjs angularjs-directive angularjs-scope