在发布这个小提琴之前,我检查了类似的问题。得到的答案很少,但所有这些都不是表单元素。http://jsfiddle.net/dgQAd/
我有以下问题:
1)文本框绑定到模型uname
,但加载文本框不显示值。为什么会这样?
2)在寻找这个答案时,我看到了类似的东西require:ngModel
,并在链接函数中注入了一个控制器,我如何在指令的链接函数中使用这个注入的控制器。
3)如何ng-model
从隔离作用域指令的链接函数内部查找父作用域的变化。
在发布这个小提琴之前,我检查了类似的问题。得到的答案很少,但所有这些都不是表单元素。http://jsfiddle.net/dgQAd/
我有以下问题:
1)文本框绑定到模型uname
,但加载文本框不显示值。为什么会这样?
2)在寻找这个答案时,我看到了类似的东西require:ngModel
,并在链接函数中注入了一个控制器,我如何在指令的链接函数中使用这个注入的控制器。
3)如何ng-model
从隔离作用域指令的链接函数内部查找父作用域的变化。
我能够让 ng-model 与隔离范围一起工作的唯一方法是对隔离范围属性使用相同的名称: scope:{ "uname":"=ngModel" }
. 你的 $watch 现在可以工作了。有关这方面的更多信息,另请参阅https://stackoverflow.com/a/14792601/215945
当一个指令require
是另一个指令的控制器时,该控制器可用作链接功能的第四个选项。在你的小提琴中,这就是你所说的ngModel
:
link:function(scope,el,attrs,ngModel){
通常,我更喜欢命名这个 ngModelCtrl 来提醒我它是一个控制器。
$observe 仅与使用“@”语法的隔离范围属性一起使用。