几乎与@georgeawg答案相同,但使用指令方法(自
component1.5+版本引入,但作者具有1.4.8):
angular.module('myApp', []).controller('MyCtrl', ['$scope', function MyCtrl($scope) {}]).directive('inputComponent', [function () { var myDirective = { restrict: 'E', require: 'ngModel', templateUrl: "checkboxComponent.html", link : function(scope, element, attrs, ngModelCtrl){ scope.updateModel = function(ngModel) { ngModelCtrl.$setViewValue(ngModel); } } } return myDirective;}]);fieldset { margin-top: 1em;}<script src="//pre.angularjs.org/1.4.8/angular.js"></script><div ng-app="myApp"> <div ng-controller="MyCtrl"> <input-component ng-model="value" ng-change="value2=value"></input-component> <fieldset> <p>value = {{value}}</p> <p>value2 = {{value2}}</p> </fieldset> </div> <script type="text/ng-template" id="checkboxComponent.html"> <div> <input type="text" ng-model="ngModel" ng-change="updateModel(ngModel)" /> </div> </script></div>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)