Javascript 将对象从ng repeat传递到templateURL属性

Javascript 将对象从ng repeat传递到templateURL属性,javascript,angularjs,Javascript,Angularjs,我正在尝试使用指令构建动态控件 <div ng-repeat="k in m.Array1" style="padding-left:30px"> <div ng-repeat="l in k.Array2.Array3"> <div control-picker var1="l" var2="k.Array2.Array3"> </div>

我正在尝试使用指令构建动态控件

<div ng-repeat="k in m.Array1" style="padding-left:30px">
     <div ng-repeat="l in k.Array2.Array3"> 
        <div control-picker var1="l" var2="k.Array2.Array3">
         </div>                        
      </div
</div>

我尝试了scope.var1.prop1的所有可能的方法,比如attr.var1.prop1,但是在本例中var1变成了一个字符串。如何实现它(我还需要将作用域发送到html)

您无法在那里获得
scope
。对于动态模板,您需要使用
controller

.directive('controlpicker', function () {
return {
    template: '<ng-include src="getTemplateUrl()"/>',
    scope: { var1: '=', var2: '=' },
    controller: function($scope) {
      $scope.getTemplateUrl = function (elem, attr) {
        if ($scope.var1.prop1 == 'MC') {
            return 'MultipleChoice.html';                    
        } else {
            return 'Default.html';
        }
      };   
    }
 });
指令('controlpicker',函数(){ 返回{ 模板:“”, 作用域:{var1:'=',var2:'='}, 控制器:功能($scope){ $scope.getTemplateUrl=函数(元素,属性){ 如果($scope.var1.prop1=='MC'){ 返回'MultipleChoice.html'; }否则{ 返回'Default.html'; } }; } }); 检查。
.directive('controlpicker', function () {
return {
    template: '<ng-include src="getTemplateUrl()"/>',
    scope: { var1: '=', var2: '=' },
    controller: function($scope) {
      $scope.getTemplateUrl = function (elem, attr) {
        if ($scope.var1.prop1 == 'MC') {
            return 'MultipleChoice.html';                    
        } else {
            return 'Default.html';
        }
      };   
    }
 });