当前位置: 首页 > 知识库问答 >
问题:

无法在angularjs中重复ng指令

巫马承德
2023-03-14

我是新的angularjs。我想动态添加指令到基于标题的div从控制器...下面是我尝试的...

以下是我使用的指令和工厂

     QtTemplate.directive("shortanswer",function()
  {
    return{
        restrict:"A",

        templateUrl:'assets/directives/shortAnswer.html'
    }   
  })

    Template.factory("questionList",function()
  {
    var questionList={};
    questionList.testid="1";
    questionList.name="Maths";
    questionList.Questions = 
    [
        {"title":"truefalse"},
        {"title":"shortanswer"} 
    ]
    return questionList;
  })


 Template.controller("questionControl",['$scope','questionList',function($scope,questionList)
  {
    $scope.name = questionList.name;
    $scope.id = questionList.testid;
    $scope.Questions = questionList.Questions;
  }])
Template.directive('dynamicDirective',function($compile)
  {
    return {
      restrict: 'A',scope:{},
      replace: false, 
      terminal: true, 
      priority: 1000, 
      link:function(scope,element,attrs)
      {
        element.attr(scope.$eval(attrs.dynamicDirective),"");
        element.removeAttr("dynamic-directive"); //remove the attribute to avoid indefinite loop
        element.removeAttr("data-dynamic-directive");
        $compile(element)(scope);
      }
    };
  });
 QtTemplate.directive("shortanswer",function()
  {
    return{
        restrict:"A",

        templateUrl:'assets/directives/shortAnswer.html'
    }   
  })

下面是我如何使用ng repeat

<div ng-repeat="Questions in Questions" >
    <div dynamicDirective="{{Questions.title}}"  ></div>
</div>

这不管用

共有3个答案

符国安
2023-03-14

给你:

<div ng-repeat="Question in Questions" >
    <div dynamicDirective="{{Question.title}}"  ></div>
</div>

希望这有帮助。

方琦
2023-03-14

您需要在HTML中编写动态指令,而不是动态指令。Javascript中的Camelcase需要写成HTML中的 snakecase kebab case。

慕鸿波
2023-03-14

在html中使用烤串大小写

<div ng-repeat="Question in Questions" >
    <div dynamic-directive="{{Question.title}}"  ></div>
</div>
 类似资料:
  • 我有一个示例 anjularjs 示例,它拉取 sku 详细信息数组,在选择下拉列表中显示价格和名称。现在我在下拉列表中选择了任何选项,它显示SKU名称和价格。 下面是我的选择标签,现在正在显示,sku名称和价格。 以下是我的skulist数据: 所以在这里,我的要求是下拉列表应该包含sku名称和价格,但一旦选择了值,然后只显示sku名称。

  • 我正在尝试根据当前项目动态显示ng-重复指令中的几个模板之一。 我的JSON数据如下所示: 我的目标是动态呈现数据树,每组包含多个部分。这些组都将具有相同的模板,但每个部分都应基于名称字段具有自己的模板。 假设顶层HTML为: 理想情况下,每个部分还需要有自己的作用域数据和与之关联的控制器。我很幸运地使用Knockout构建了这种类型的系统,但我正在尝试理解Angular的做事方式。

  • 问题内容: 如何在Javascript中使用ng-repeat之类 的 ? 例: 我想用ng-repeat重复4次,但是我该怎么做呢? 问题答案: Angular带有limitTo:limit过滤器,它支持限制前x个项目和后x个项目:

  • 本文向大家介绍AngularJS ng-mousedown 指令,包括了AngularJS ng-mousedown 指令的使用技巧和注意事项,需要的朋友参考一下 AngularJS ng-mousedown 指令 AngularJS 实例 在鼠标按下时执行表达式: 定义和用法 ng-mousedown 指令用于告诉 AngularJS 鼠标在指定的 HTML 元素上按下时要执行的操作。 ng-m

  • 本文向大家介绍AngularJS基础 ng-href 指令用法,包括了AngularJS基础 ng-href 指令用法的使用技巧和注意事项,需要的朋友参考一下 AngularJS ng-href 指令 AngularJS 实例 使用 AngularJS 设置添加链接: 定义和用法 ng-href 指令覆盖了原生的 <a> 元素 href 属性。 如果在 href 的值中有 AngularJS 代码

  • 本文向大家介绍AngularJS基础 ng-if 指令用法,包括了AngularJS基础 ng-if 指令用法的使用技巧和注意事项,需要的朋友参考一下 AngularJS ng-if 指令 AngularJS 实例 取消选中,并移除内容: 定义和用法 ng-if 指令用于在表达式为 false 时移除 HTML 元素。 如果 if 语句执行的结果为 true,会添加移除元素,并显示。 ng-if