Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有一种解决方法可以将对象直接转到指令范围?_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript 是否有一种解决方法可以将对象直接转到指令范围?

Javascript 是否有一种解决方法可以将对象直接转到指令范围?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,在我的指令中,我从元素attr(ng repeat)获取属性,并使用指令内部范围,如下所示: <program-name name="{{appName.title}}" percent="{{appName.percent}}" company="{{appName.company}}" data-page="Home" index="{{$index}}" ng-repeat="appName in appNames"></program-name> 很好。但万一

在我的指令中,我从元素attr(ng repeat)获取属性,并使用
指令
内部范围,如下所示:

 <program-name name="{{appName.title}}" percent="{{appName.percent}}" company="{{appName.company}}" data-page="Home" index="{{$index}}" ng-repeat="appName in appNames"></program-name>
很好。但万一我需要从对象获取所有属性,这是唯一的方法吗?假设我的
appName
对象中有20个perperperty,那么是否需要像这样通过所有20个perperperty

有没有办法将所有这些属性作为对象直接从元素到范围

如果是,如何做到这一点


这里是

您只需给指令指定appName对象即可

JS

scope: {
         appName: '='
       },
HTML

<program-name app-name="appName" ng-repeat="appName in appNames"></program-name>

有没有办法直接从中获取所有这些属性作为对象 要定义范围的元素

是的,您可以在指令的隔离作用域中使用
=
运算符。这也将确保双向绑定

scope:{
       appName: '='
      }
另外,请注意,如果您希望指令中包含appName的所有属性,则不要创建隔离作用域。如果您不指定
作用域:{}
,则该指令将采用与其在中使用的模板相同的作用域

scope:{
       appName: '='
      }