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

将数据数组从控制器传递到自定义指令?

常炯
2023-03-14
$scope.mydata=[


    {
        "_id":"1",
        displayConfig:[
              {
      "fieldIndex": 2,
"propertyName": "o1",
"propertyValue": "sree"
              },{
      "fieldIndex": 2,
"propertyName": "o2",
"propertyValue": "sravs"
              },{
      "fieldIndex": 2,
"propertyName": "o3",
"propertyValue": "sree"
              },

          ],
        "name": "Alabama",
        "abbreviation": "AL"


    },
    {
        "_id":"2",
        displayConfig:[
              {
      "fieldIndex": 2,
"propertyName": "o1",
"propertyValue": "yui"
              },{
      "fieldIndex": 2,
"propertyName": "o2",
"propertyValue": "juim"
              },{
      "fieldIndex": 2,
"propertyName": "o3",
"propertyValue": "aww"
              },

          ],
        "name": "Alaska",
        "abbreviation": "AK"
    },
    {
        "_id":"3",
        displayConfig:[
              {
      "fieldIndex": 2,
"propertyName": "o1",
"propertyValue": "fgt"
              },{
      "fieldIndex": 2,
"propertyName": "o2",
"propertyValue": "ertyu"
              },{
      "fieldIndex": 2,
"propertyName": "o3",
"propertyValue": "ghytt"
              },

          ],

        "name": "bmerican Samoa",
        "abbreviation": "AS"
    },
    {
        "_id":"4",
        displayConfig:[
              {
      "fieldIndex": 2,
"propertyName": "o1",
"propertyValue": "hjjhu"
              },{
      "fieldIndex": 2,
"propertyName": "o2",
"propertyValue": "rdrer"
              },{
      "fieldIndex": 2,
"propertyName": "o3",
"propertyValue": "xds"
              },

          ],
        "name": "drizona",
        "abbreviation": "AZ"
    },
    {
        "_id":"5",
        displayConfig:[
              {
      "fieldIndex": 2,
"propertyName": "o1",
"propertyValue": "errrr"
              },{
      "fieldIndex": 2,
"propertyName": "o2",
"propertyValue": "ddd"
              },{
      "fieldIndex": 2,
"propertyName": "o3",
"propertyValue": "nnnn"
              },

          ],
        "name": "crkansas",
        "abbreviation": "AR"
    }

];
<search items="mydata" prompt="Start typing a US state" title="mydata.displayConfig[0].propertyName" subtitle="abbreviation" id="_id" model="_id" on-selectupdate="onItemSelected()" />
.directive('search', function($timeout) {
  return {
    restrict: 'AEC',
    scope: {
        items: '=',
        prompt:'@',
        title: '@',
        subtitle:'@',
        model: '=',
        onSelectupdate:'&'
    },
    link:function(scope,elem,attrs){
       scope.handleSelection=function(selectedItem){
         scope.model=selectedItem;
           console.warn(scope.items);
         scope.current=0;
         scope.selected=true;        
         $timeout(function(){
             scope.onSelectupdate();
          },200);
      };
      scope.current=0;
      scope.selected=true;
      scope.isCurrent=function(index){
         return scope.current==index;
      };
      scope.setCurrent=function(index){
         scope.current=index;
      };
    },
templateUrl : TAPPLENT_CONFIG.HTML_ENDPOINT[0]+'home/genericsearch.html'  }
})
<div class="multitext-wrap blue-border">
<input type="text" ng-model="model"  ng-keydown="selected=false"/><br/> 
<div class="items" ng-hide="!model.length || selected">
    <div class="item" ng-repeat="item in items" ng-click="handleSelection(item[title])" style="cursor:pointer" ng-class="{active:isCurrent($index)}" ng-mouseenter="setCurrent($index)">
        <p class=" tag-label">{{item[title]}}</p><span class="tag-cross pointer" ng-click="removeOrg($index);">x</span>

    </div>
</div> 
</div>

共有1个答案

章丰茂
2023-03-14

您可以通过attrs在您的链接功能中访问它:

function(scope,elem,attrs)
{  
 var mydata = attrs.model; 
}

但你的方法有点不对劲。我认为这里更聪明,也更容易使用服务或工厂。

服务/工厂利用实例

 类似资料:
  • 问题内容: 我的图像是我试图将数据(变量)从一个阶段传递到另一阶段,但是当我尝试在第二阶段访问它们时,它们为空。mainWindow的代码。前往window1 // window1类: 如果我想访问以前收到的标题,则为null 初始化显示应该为“ Window1”时显示为null} 问题答案: 在加载FXML文件的过程中,将调用该方法-换句话说,在调用时将调用该方法。 显然,这是 在 调用 之前

  • 问题内容: 以下是我的html模板: 下面是我的代码: 为什么我会收到“ 未定义 ”而不是“ 某些消息 ” 下面是一个小提琴 http://jsfiddle.net/j2K7N/27/ 问题答案: 您的代码几乎是正确的,但是这里有几个问题: 在这里,您从控制器传递函数,该函数带有一个未定义的参数,该参数会导致警报消息带有“未定义”文本。我建议将HTML代码修改为: 请注意,我将传递为变量而不是函数

  • 我有使用Springboot和Thymeleaf模板编写的简单Web应用程序。报告控制器从表单接收数据并构建TestPlanReportReportACK对象,该对象作为模型属性添加如下: 我可以在“图表”thymeleaf模板中使用该数据并显示我需要的数据,但我需要在单击按钮时将完全相同的对象发送回控制器,但我得到TestPlanReportACK对象作为设置空值的参数。 以下是我的按钮在图表模

  • 问题内容: 我正在使用剃刀,并且很难将数组传递给控制器​​。数组包含我制作的对象,而我正在尝试这样做: 而我的控制器是: 我不需要使用ajax,但是我不确定该怎么做。在控制器中,它表明“ operationCollection”包含元素,但它们都为空。 问题答案: 客户端: 并声明一个类服务器端,如下所示: 那么您可以执行以下操作:

  • 在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图。控制器类将响应请求来的URL。控制器类是给您写代码来处理传入请求的地方,并从数据库中检索数据,并最终决定什么类型的返回结果会发送回浏览器。视图模板可以被控制器用来产生格式化过的HTML从而返回给浏览器。 控制器负责给任何数据或者对象提供一个必需的视图模板,用这个视图模板来Render返回给浏览器的HTML。最佳做法是:一

  • 问题内容: 我是laravel的新手,我一直试图将表’student’的所有记录存储到一个变量,然后将该变量传递给视图,以便可以显示它们。 我有一个控制器-ProfileController,里面有一个函数: 我认为我有此代码 我收到此错误:未定义的变量:学生(View:regprofile.blade.php) 问题答案: 你能试试看吗 同时,您可以设置多个类似这样的变量,