发表于: 2017-05-04 23:37:01
0 879
任务进展:
1:修改js4存在的问题。
2:学习angular。
遇到问题:
1:为js4加上步骤顺序提醒,若不按步骤点击会弹窗提示。根据状态机状态唯一指定当前步骤,若非当前状态指定的步骤,则弹窗提醒。
2:在js4杀人投票页面定义一个动作变量,指示一次杀死动作,根据此变量判断,若动作完成,则不允许再进行杀死动作,若没有完成,而进行下一动作时,弹窗提醒完成动作。
3:修改杀人代码,当进行杀手杀人时,杀手不可以杀杀手,点击时不会显示隐藏匕首图标,而是弹窗提醒。
4:学习angular插值字符串,使用$interpolate服务,用$watch监听数据变化,示例:
<div ng-controller="MyController">
<input ng-model="to"/>
<textarea ng-model="emailBody"></textarea>
<pre>{{to}}</pre>
<pre>{{ previewText }}</pre>
</div>
<script>
angular.module('myApp', []).controller('MyController',function($scope, $interpolate){
$scope.emailBody = 'Hello {{ to }},\n\nMy name is Ari too!';
$scope.$watch('emailBody', function(body) {
if (body) {
var template = $interpolate(body);
$scope.previewText =
template({to: $scope.to});
}
});
});
</script>
此例存在的问题是,当即时输入input值时,<pre>{{to}}</pre> 会同步显示,而 <pre>{{ previewText }}</pre>不会,必须在textarea框中内容有变化时(比如随意输入字符或空格)才会显示,原因不清楚。
明日计划:
1:多次运行js4,检查问题并修改。
2:学习angular。
收获:
网上大多数angular教程讲述的很粗糙,原理过程描述不清楚,有时还出现错误,不如去看angular API。
评论