I'll have to give that a shot. On Friday, March 28, 2014, Kamalakar Gadireddy <[email protected]> wrote:
> Jarrett, > > Can you just have a log to check and see if `$scope.$parent` is defined, > this is the only thing i see which might be undefined. And my suggestion is > do not create a new or isolated scope for your directives if thats case the > case you can change the code to `$scope.$watch watchExpression` and it > should work. > > > On Fri, Mar 28, 2014 at 12:30 PM, Jarrett Lusso <[email protected]> wrote: > > Hey, > > So i was playing around with it all and the issue I'm having now is that I > don't have access to the scope in the same way I believe. > > watchExpression = [ctrl.$name, attrs.name, '$invalid'].join('.') > $scope.$parent.$watch watchExpression, (value) -> > $scope.isError = value > > I had that setup so that I could put a class on the fields when an error > occurred. Not sure how to get this working now since I'm getting undefined > when I try and get inputs on the form. ctrl was the form because I had > require: '^form' in my directive > > > On Mon, Mar 24, 2014 at 10:54 PM, Jarrett Lusso <[email protected]> wrote: > > I will check this out on my flight tomorrow. Hopefully this is the fix! :) > > > On Mon, Mar 24, 2014 at 1:15 PM, Kamalakar Gadireddy > <[email protected]>wrote: > > There you go you know what things that should not got in input so you can > block them and rest u can pass them to the input. In the example i have > shared you can see an for each loop > > angular.forEach(attrs.$attr, function(name) { > > // if condition when to copy the attribute, in your case you > will check to see if its no *label* or *hint *or any other thing that > should not got on to the input. > > node.attr(name,origElement.attr(name)) > }); > > > Instead of the simple input node you can replace it with your html. You > can play around with the example in > plnkr.co<http://plnkr.co/edit/7U2uoN?p=preview>which i had shared and see it > would copy all the attributes of the > directive to the input as explained above you need to block thing you don't > need. Play around and let me know. > > demo.directive('simpleForm', ['$compile', function($compile) { > var template = > '<div class="input-wrapper text" data-ng-class="{\'field-error\': > isError}">' + > '<label class="field-wrap">' + > '<div class="label">' + > '<i class="help-icon fa fa-question-circle" data-tooltip=""></i>' + > '</div>' + > '<div class="field"><input></div>' + > '</div>' + > '</label>' + > '</div>'; > var notForInput = ['simple-form', 'label', 'help']; > return { > restrict: 'EA', > transclude: 'element', > link: function(scope, element, attrs, model, transcludeElm) { > var origElement = transcludeElm(); > var node = angular.element(template); > var input = node.find('input'); > var toolTip = $('i', node); > angular.forEach(attrs.$attr, function(na > > -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.
