angular指令内的输入类型编号产生字符串

时间:2016-10-31 16:06:27

标签: javascript html angularjs angularjs-directive

我有以下指令:

<!-- directive -->
angular.module('app', [])
  .controller('MainCtrl', function($scope) {})
  .directive('test', function() {
    return {
      restrict: 'E',
      link: function(scope) {
        scope.value = 0;
        scope.type = 'number';
      },
      templateUrl: 'template.html'
    }
  });

<!-- template -->
<label>{{ type }}: <!--type == 'number' -->
  <!-- produces strings -->
  <input type="{{type}}" ng-model="value" class="form-control"  />
  <!-- produces integers -->
  <input type="number"  ng-model="value" class="form-control" />
</label>
<div>{{ value |json }}</div>


<!-- usage -->
<test />

第一个输入框产生字符串和第二个整数。在我看来,这是一个错误。有任何想法或解决方法吗?

这里有一个重现它的plunker: http://plnkr.co/edit/uLjYKxepzaaZIjGmObzi?p=preview

问候Lennart

1 个答案:

答案 0 :(得分:0)

这不一定是一个bug,而是一些预期的行为。它与浏览器兼容性有关。 These answers非常详细地解释了这一点。