访问通过Angular

时间:2015-10-02 04:50:09

标签: javascript angularjs angularjs-directive angularjs-scope isolate-scope

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

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

1 个答案:

答案 0 :(得分:0)

将模板更改为此

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 = \'\' "

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

这是demo

或者您可以尝试this,但似乎第一个是更好的。