How can angular js watch attributes on custom directive in order to accept angular values to be bind
Here is what I have so far:
<tile title="Sleep Duration" data-value="{{sleepHistory.averageSleepTime}}"/>
app.directive('tile', [function() {
return {
restrict: 'E',
link: function(scope, element, attrs) {
var title = attrs.title;
attrs.$observe('dataValue', function(val) {
var data = val;
console.log(data);
var dom =
"<div>" +
"<p>" + title + "</p>" +
"<p>" + data + "</p>" +
"</div";
$(element).append($(dom.trim()));
});
}
};
}]);
but the observed value is coming back as undefined
From https://docs.angularjs.org/api/ng/type/$compile.directive.Attributes:
all of these are treated as equivalent in Angular:
<span ng:bind="a" ng-bind="a" data-ng-bind="a" x-ng-bind="a">
So the attribute data-value
normalizes to value
So, this is what you want:
attrs.$observe('value', function(val) {
Just watch the value
instead of dataValue
.
attrs.$observe('value', function (val) { ...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With