是否可以为多个指令应用一个表达式?

时间:2015-09-18 17:12:16

标签: javascript angularjs angularjs-directive

这是一个简单的代码,我试图实现我所说的:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example - example-example32-production</title>
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0-beta.0/angular.min.js"></script>
</head>
<body ng-app="app">
  <div ng-controller="AppController">
  <form name='AlertForm' ng-init="action = 'AlertForm.$valid && print(text)'">
    Input: <input type="text" ng-model="text" ng-keyup='$event.keyCode == 13 && {{action}}' /><br />
    <input type="button" ng-click="{{ action }}" value="Alert" />
  </form>

</div>

<script>
  angular.module('app', [])
    .controller('AppController', ['$scope', function($scope) {
      $scope.print = function(msg) {
        alert(msg);
      };

    }]);
</script>
</body>
</html>

http://plnkr.co/edit/M7hfHytCzqrOMMLSpbZm?p=preview

有一个带有单个输入和一个按钮的表单。如果您按下按钮或按Enter键,同时保留输入,它将提醒您输入的内容。

我尝试使用ng-init和Angular模板来缓存print(text)表达式,以避免冗余,但它不起作用。

有没有其他方法可以在不触碰控制器的情况下做到这一点?

0 个答案:

没有答案