Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从属性指令查看元素的模型_Javascript_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

Javascript 从属性指令查看元素的模型

Javascript 从属性指令查看元素的模型,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我想从指令内部观察一个模型,该指令作为属性放置在输入元素上: <input id="mymodel_headline" name="mymodel[headline]" ng-model="mymodel.headline" sps-watch="true" type="text"> 它们似乎只在第一次创建指令时运行一次 您可以通过ngModel.$viewValue检索模型的值。从$watch表达式中的匿名函数返回,模型中的更改将触发$watch函数: scop

我想从指令内部观察一个模型,该指令作为属性放置在
输入
元素上:

<input id="mymodel_headline" name="mymodel[headline]" 
      ng-model="mymodel.headline" sps-watch="true" type="text">
它们似乎只在第一次创建指令时运行一次


您可以通过
ngModel.$viewValue
检索模型的值。从
$watch
表达式中的匿名函数返回,模型中的更改将触发
$watch
函数:

  scope.$watch(function () {
    return ngModel.$viewValue;
  }, function(result) {
    console.log("watching via ngModel");
    console.log(result)
  }); 

有趣的是,为什么必须将第一个参数包装在匿名函数中?
$watch
的表达式可以是函数或字符串。在第一种情况下,它记录返回值的变化,在后一种情况下,它将字符串解释为角度表达式。仅仅指定一个应该监视的变量是不可能的。
  scope.$watch(function () {
    return ngModel.$viewValue;
  }, function(result) {
    console.log("watching via ngModel");
    console.log(result)
  });