Javascript Ng使用字符串&;ng重复属性
我试图在ng repeat中动态构建一个编码查询,然后将其传递到typeahead指令中 我知道我可以传入整个ng repeat项,类似于此JSFIDLE: 我知道可以很容易地将字符串传递到指令属性中 有办法做到这两个吗 基本上,在上面的小提琴中,我想做一些类似的事情:Javascript Ng使用字符串&;ng重复属性,javascript,angularjs,Javascript,Angularjs,我试图在ng repeat中动态构建一个编码查询,然后将其传递到typeahead指令中 我知道我可以传入整个ng repeat项,类似于此JSFIDLE: 我知道可以很容易地将字符串传递到指令属性中 有办法做到这两个吗 基本上,在上面的小提琴中,我想做一些类似的事情: <div ng-repeat="image in images"> <typeahead-directive image='"encoded_query=" +
<div ng-repeat="image in images">
<typeahead-directive image='"encoded_query=" + image' ></div>
</div>
我尝试过这样做,它在控制台中工作,但ng repeat属性实际上并没有存储在指令中:
<div ng-repeat="image in images">
<typeahead-directive image='encoded_query={{image}}' ></div>
</div>
有什么建议吗
有办法做到这两个吗
在your指令中,您可以使用$attrs
获取图像
属性的字符串值
您可以使用$eval
从您的图像
属性获取对象
你的HTML
<div ng-repeat="image in images">
<div myimg image='image' ></div>
</div>
指令
myModule.directive('myimg', function(){
return{
restrict: 'A',
scope: false,
template: '<p>{{image.title}}</p><img src="{{image.url}}" />',
controller: ['$scope','$attrs', function($scope, $attrs) {
console.log($attrs.image);
console.log($scope.$eval($attrs.image));
}]
/*link:function(scope, elem, attr){
console.log(attr.image);
console.log(scope.$eval(attr.image));
}*/
};
});
myModule.directive('myimg',function(){
返回{
限制:“A”,
范围:假,
模板:“{{image.title}”,
控制器:['$scope','$attrs',函数($scope,$attrs){
log($attrs.image);
log($scope.eval($attrs.image));
}]
/*链接:功能(范围、要素、属性){
console.log(attr.image);
console.log(scope.$eval(attr.image));
}*/
};
});
控制器本地属性记录在
$eval
功能记录在
还要注意,我设置了scope:false
,因为您的指令实际上不需要作用域。如果typeahead指令有自己的作用域,请尝试image=“encoded\u query={{{$parent.image}”。