我可以在指令模板中双向绑定输入字段吗?

时间:2014-05-12 08:20:35

标签: angularjs angularjs-directive

templateUrl中有以下模板:

<input name="foo" ng-model="test">

指令:

app
  .directive('bar', function() {
    return {
      link: function link(scope, element, attrs, ctrl) {
        scope.$watch(scope.test, function(newVal) {
          console.log(val);
        });
      },
      restrict: 'E',
      templateUrl: 'templates/foo.html'
    };
   });

我可以在指令中双向绑定它,所以我scope.$watch输入变量吗? 我尝试使用ng-bindng-model,但我无法在我的指令的scope中访问该变量。

修改 添加了指令代码。

1 个答案:

答案 0 :(得分:1)

变化:

scope.$watch(scope.test, ...

scope.$watch('test', ...

它应该有效。 $watch的第一个参数是(所谓的) watchExpression 。它将根据相关范围进行评估。使用字符串时,您基本上可以使用您在视图/模板中使用的所有内容。

请注意,如果您开始使用isolated scopes,这将再次中断。