Javascript 是否有一种解决方法可以将对象直接转到指令范围?
在我的指令中,我从元素attr(ng repeat)获取属性,并使用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> 很好。但万一
指令
内部范围,如下所示:
<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: '='
}