aboutsummaryrefslogtreecommitdiffstats
path: root/src/directives.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/directives.js')
-rw-r--r--src/directives.js15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/directives.js b/src/directives.js
index a37076d4..2f393b5d 100644
--- a/src/directives.js
+++ b/src/directives.js
@@ -26,15 +26,20 @@ angularDirective("ng-bind", function(expression){
return function(element) {
var lastValue, lastError;
this.$onEval(function() {
- var error, value = this.$tryEval(expression, function(e){
- error = toJson(e);
- });
+ var error,
+ value = this.$tryEval(expression, function(e){
+ error = toJson(e);
+ }),
+ isElem = isElement(value);
+ if (!isElem && isObject(value)) {
+ value = toJson(value);
+ }
if (value != lastValue || error != lastError) {
lastValue = value;
lastError = error;
elementError(element, NG_EXCEPTION, error);
if (error) value = error;
- if (isElement(value)) {
+ if (isElem) {
element.html('');
element.append(value);
} else {
@@ -177,7 +182,7 @@ angularWidget("@ng-repeat", function(expression, element){
angularDirective("ng-click", function(expression, element){
return function(element){
var self = this;
- element.click(function(){
+ element.bind('click', function(){
self.$tryEval(expression, element);
self.$root.$eval();
return false;