Skip to content

Commit 0e404b0

Browse files
ngModelController
一些小修改
1 parent e60d909 commit 0e404b0

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

ngModelController/index.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ <h1>ngModelController- <small>创建一个实现了双向数据绑定的可编
1717
</div>
1818
<form role="form" name="myForm">
1919
<div class="form-group">
20-
<div contenteditable name="myWidget" ng-model="userContent" ng-model-options="{debounce:1000}" class="form-control" required valid-characters default-text="请输入内容"></div>
20+
<div contenteditable name="myWidget" ng-model="userContent" ng-model-options="{debounce:1000}" class="form-control" required default-text="请输入内容"></div>
2121
</div>
2222
<div class="form-group">
2323
<button type="button" class="btn btn-default btn-primary" ng-click="setNone()">设置为'抱歉,我没有想输入的内容'</button>
@@ -56,6 +56,11 @@ <h3 class="panel-title">用户输入的内容为:</h3>
5656
</form>
5757
</div>
5858

59+
<div class="container">
60+
<a href="http://plnkr.co/edit/CbOS1nFosPDfQXvsGTyR?p=preview" class="btn btn-default" role="button">在线预览</a>
61+
</div>
62+
63+
5964
</body>
6065
</html>
6166

ngModelController/script.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ app.directive('contenteditable',function(){
1515
}
1616
//一开始scope.userContent是空
1717
console.log(ngModel.$isEmpty(scope.userContent));
18-
element.html(attrs.defaultText);
1918
ngModel.$setViewValue(attrs.defaultText);
2019
//调用了$setViewValue以后就不为空了,但是如果设置了ngModelOptions,则没用.
2120
console.log(ngModel.$isEmpty(scope.userContent));
2221
ngModel.$render = function(){
23-
element.html(ngModel.$viewValue || attrs.defaultText)
22+
element.html(ngModel.$viewValue || attrs.defaultText);
2423
};
2524
element.bind('focus',function(){
2625
if(element.html()==attrs.defaultText){
2726
element.html('')
2827
}
2928
});
3029
element.bind('focus blur keyup change',function(){
30+
console.log(scope.userContent); //userContent这个实际的值应该是和$modelValue一致的.
3131
ngModel.$setViewValue(element.html());
3232
console.log('$viewValue为:'+ngModel.$viewValue);
3333
console.log('$modelValue为:'+ngModel.$modelValue);
@@ -39,11 +39,6 @@ app.directive('contenteditable',function(){
3939
}
4040
});
4141

42-
/*
43-
调用$setViewValue并不会触发$render,但是userContent会被同步.
44-
当直接修改了userContent这个值,则$render会被调用
45-
*/
46-
4742

4843
/*app.controller('Rollback',function($scope){
4944
$scope.resetWithRollback = function(e){

0 commit comments

Comments
 (0)