2014-04-26 20 views
6

Wie kann ich benutzerdefinierte Felder Winkelumfang hinzufügen zusammen mit geben Felder als Attribute, wie die folgenden:AngularJS benutzerdefinierte Richtlinie isoliert Umfang benutzerdefinierte Felder

angular.module('app') 
    .directive("myDirective", function(){ 
     function NewObj() 
     { 
      this.id = 0; 
      this.name = ""; 
     } 
     return{ 
      restrict: "E", 
      templateUrl:"partials/directives/temp.html", 
      scope:{ 
        viewId:"=", 
        dataObj: new NewObj() //This is the custom obj 
        } 

      } 
     } 

Wenn ich dies tun, ich ungültig isoliert Umfang erhalten Definition. Wie kann dies erreicht werden?

+0

Hier ist eine anständige Erklärung Richtlinie Bereiche: http://umur.io/angularjs-directives-using-isolated-scope-with-attributes/ –

Antwort

5

Der Bereich in einer Direktive kann nur einer von '=', '&', '@' sein. zu tun, was Sie wollen, können Sie versuchen, so etwas wie:

angular.module('app') 
.directive("myDirective", function() { 
    function NewObj() { 
     id = 0; 
     this.name = ""; 
    } 
    return { 
     restrict: "E", 
     templateUrl:"partials/directives/temp.html", 
     scope: { 
      viewId:"=",      
     }, 
     controller: ['$scope', function($scope) { 
      $scope.dataObj = new NewObj(); 
     }] 
    }; 
}); 
+0

Leider kann ich nicht denselben Controller (mit verschiedenen Parametern, die im Bereich übergeben werden) für mehrere Direktiven wiederverwenden. –

Verwandte Themen