这篇是实现数据绑定的第二弹,涉及到ng-disabled、ng-style等标签的使用。具体功能是:随着输入内容的增加,字数也会增加,当超过140个字符时,颜色变红。并且发布按钮不能点击,当没有输入内容时,清空按钮不能点击。
代码如下:
<!DOCTYPE html>
<html ng-app="myapp">
<head>
<meta charset="UTF-8">
<title>仿微博发布</title>
<script type="text/javascript" src="../js/angular.js" ></script>
</head>
<body ng-controller="MainCtrl as mainctrl">
<p>
<textarea name="" rows="10" cols="30" ng-model="mainctrl.txt"></textarea>
<span ng-style="mainctrl.getColor()">{{mainctrl.txt.length}}/140字</span>
</p>
<p class="button">
<input type="button" value="发布" ng-disabled ="mainctrl.txt.length >= 140"/>
<input type="button" value="清空" ng-click = "mainctrl.reset()" ng-disabled="mainctrl.txt.length == 0"/>
</p>
<script type="text/javascript">
var myapp = angular.module('myapp',[]);
myapp.controller('MainCtrl',[function(){
this.txt = "";
var that = this;
this.getColor = function(){
return that.txt.length >= 140 ? {"color":"red"}:{"color":"#333"};
}
this.reset = function(){
that.txt ="";
}
}]);
</script>
</body>
</html>
效果如下:
1.内容为空时
2.超过140个字符时
3.正常字符以内时