访问通过 Angular 中的隔离范围创建的 ng-model

Access ng-model created via an isolate scope in Angular

我有一个使用隔离作用域的简单指令,它将数据从模板中传递给作用域方法:

app.directive("phone", function () {
    return {
      scope: {
        dial: "&"
      },
      template: '<input type="text" ng-model="value">' +
        '<br>' +
        '<div class="button" ng-click="dial({message:value})">' +
        'Call home!</div>',
      controller: function($scope) {
        console.log($scope);
      }
    };
  });

工作正常。但我想在警报完成后清除输入字段。我很难弄清楚如何访问 ng-model="value" 从指令中生成的输入。有帮助吗?

这是一个plunk for you

将模板更改为此

template: '<input type="text" ng-model="value">' +
        '<br>' +
        '<div class="button" ng-click="dial({message:value}); value = \'\' ">' +
        'Call home!</div>',

注意ng-click改为ng-click="dial({message:value}); value = \'\' "

这将在调用 dial() 函数后将 value 设置为空字符串。

这里是 demo

或者您可以尝试一些东西 this,但似乎第一个更好。