diff options
Diffstat (limited to 'src/Widgets.js')
| -rw-r--r-- | src/Widgets.js | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Widgets.js b/src/Widgets.js index 870468d3..d9d72535 100644 --- a/src/Widgets.js +++ b/src/Widgets.js @@ -9,7 +9,7 @@ function modelAccessor(scope, element) { return formatter['format'](scope.$eval(expr)); }, set: function(value) { - scope.$eval(expr + '=' + toJson(formatter['parse'](value))); + scope.$tryEval(expr + '=' + toJson(formatter['parse'](value)), element); } }; } @@ -112,7 +112,7 @@ function inputWidget(events, modelAccessor, viewAccessor, initValue) { view = viewAccessor(scope, element), action = element.attr('ng-action') || '', value = view.get() || copy(initValue); - if (isDefined(value)) model.set(value); + if (isUndefined(model.get()) && isDefined(value)) model.set(value); this.$eval(element.attr('ng-init')||''); element.bind(events, function(){ model.set(view.get()); @@ -127,6 +127,7 @@ function inputWidget(events, modelAccessor, viewAccessor, initValue) { } function inputWidgetSelector(element){ + this.directives(true); return INPUT_TYPE[lowercase(element[0].type)] || noop; } |
