大佬教程收集整理的这篇文章主要介绍了angularjs – 带隔离范围和ng模型的指令,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题:
当在指令中更新模型时,调用方的值未更新。
HTML:
<test-ng-model ng-model="model" name="myel"></test-ng-model>
指示:
app.directive( 'testNgModel',[ '$timeout','$log',function ($timeout,$log) { function link($scope,$element,attrs,ctrl) { var counter1 = 0,counter2 = 0; ctrl.$render = function () { $element.find('.result').text(JSON.Stringify(ctrl.$viewvalue)) } $element.find('.one').click(function () { if ($scope.$$phasE) return; $scope.$apply(function () { var form = angular.isObject(ctrl.$viewvalue) ? ctrl.$viewValue : {}; form.counter1 = ++counter1; ctrl.$setViewValue(form); }); }); $element.find('.two').click(function () { if ($scope.$$phasE) return; $scope.$apply(function () { var form = angular.isObject(ctrl.$viewvalue) ? ctrl.$viewValue : {}; form.counter2 = ++counter2; ctrl.$setViewValue(form); }); }); $scope.$watch(attrs.ngModel,function (current,old) { ctrl.$render() },truE) } return { require: 'ngModel',reStrict: 'E',link: link,//if isolated scope is not set it is working fine scope: true,template: '<div><input type="button" class="one" value="One"/><input type="button" class="two" value="Two"/><span class="result"></span></div>',replace: true }; }]);
演示:Fiddle
如果隔离示波器没有设置,它工作正常:fiddle
<test-ng-model ng-model="someObj.model" ...>
以上是大佬教程为你收集整理的angularjs – 带隔离范围和ng模型的指令全部内容,希望文章能够帮你解决angularjs – 带隔离范围和ng模型的指令所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。