首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过属性和包含变量将对象传递给指令

通过属性和包含变量将对象传递给指令
EN

Stack Overflow用户
提问于 2015-12-01 15:42:23
回答 3查看 83关注 0票数 0

我想通过一个对象中的属性将一个$scope.data转换成指令,我可以用任何解决方案而不是通过分离的属性来实现下面的格式吗?

代码语言:javascript
复制
<custom-directive detail="{index:1, data: {{data}}}">
</custom-directive>

并且作用域在指令中设置为下面

代码语言:javascript
复制
scope: {detail: "="}
EN

回答 3

Stack Overflow用户

发布于 2015-12-01 16:14:50

一种解决方案可能是

代码语言:javascript
复制
return {
      restrict: 'E',
      require: 'ngModel',
      scope: {
        model: '=ngModel',
      },
      link: function(scope, element, attributes, ngModel) {
           if (!ngModel) {
              return;
           }

           console.log(scope.model); // your passed data
      }
}

然后

代码语言:javascript
复制
<custom-directive ngModel="data"></custom-directive>

现在,您将把您的$scope.data传递给scope.model内部的指令。但请注意,指令中scope.model的任何更改也将反映在$scope.data中。

为了避免这种情况,您可以简单地更改ngModel

代码语言:javascript
复制
return {
          restrict: 'E',
          scope: {
            data: '=myData',
          },
          link: function(scope, element, attributes) {

               console.log(scope.data); // your passed data
          }
    }

然后

代码语言:javascript
复制
<custom-directive my-data="data"></custom-directive>
票数 0
EN

Stack Overflow用户

发布于 2015-12-01 16:16:51

您仍然有在控制器中创建对象的解决方案:

代码语言:javascript
复制
$scope.detail = {index:1, data:$scope.data}; 

并将其提供给您的指令:

代码语言:javascript
复制
<custom-directive detail="detail"></custom-directive>
票数 0
EN

Stack Overflow用户

发布于 2015-12-01 16:37:08

你只需在你的对象中写入数据,它会自动从你的控制器中解析出来。如下所示:

HTML

代码语言:javascript
复制
<custom-directive detail="{index:1, data: data}">
</custom-directive>

指令

代码语言:javascript
复制
myApp.directive('customDirective', function() {
   return {
       restrict:"AE",
    scope:{
        detail:"="
    },
    link:function(scope,ele,attrs) {
        alert(JSON.stringify(scope.detail));
    }
   }
});

Fiddle Demo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34015060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档