AngularJs ng-model substr

时间:2016-02-01 21:17:02

标签: javascript html angularjs

如何在没有ng-model首字母的情况下设置输入值。我不想改变模型值本身。输入内容没有第一个字母。

<input type="text" ng-model="myVal" >

和js

$scope.myVal = 'Hello';

通缉结果:ello

2 个答案:

答案 0 :(得分:8)

假设您不想要双向数据绑定,您可以使用值而不是ng-model

<input type="text" value="{{myVal.substr(1)}}" >

如果你确实想要双向数据绑定,那么在模型语句中使用substr是没有意义的。

答案 1 :(得分:2)

在更改输入模型时,有2个模型并在输入中使用ng-change来更新原始模型。

angular.module('myApp',[]).filter('myFilter',function(){
  return function(input){
    input = input.substring(1,input.length);
    return input;
    };
  })
.controller('myController',function($scope,$filter){
  $scope.myValObj = "Hello";
  $scope.myValObj2 = $filter('myFilter')($scope.myValObj);
  $scope.updateOriginal = function(){
    $scope.myValObj = $scope.myValObj[0] + $scope.myValObj2;
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myController">
  <input type="text" ng-model="myValObj2" ng-change="updateOriginal()"/>
<br>
  Original Model: {{myValObj}}
<br>
  Model For Input: {{myValObj2}}
</div>