Inside Directive click函数添加具有不同范围的TextBox元素

时间:2014-06-21 09:00:31

标签: javascript angularjs

我正在尝试创建一个指令,点击按钮我需要添加文本框但是当我添加2,3文本框时它们都共享相同的范围。

如何在范围内隔离范围??

http://jsfiddle.net/A8Vgk/584/

代码::

    angular.module('myApp', []).directive( 'test', function ( $compile ) {
  return {
    restrict: 'E',
    scope: { text: '@' },
    template: '<p ng-click="add()">Click me </p>',
    controller: function ( $scope, $element ) {
      $scope.add = function () {
        var el = $compile( "<input type='text' ng-model='user.name' value='hello-World!'>" )( $scope );
        $element.parent().append( el );
      };
    }
  };
});

1 个答案:

答案 0 :(得分:1)

尝试$scope.$new()并将文本框绑定到这个新创建的范围:

var el = $compile( "<input type='text' ng-model='user.name' value='hello-World!'>" )( $scope.$new() );

DEMO