Javascript AngularJs-无法通过使用ng单击重复ng生成的对象
我是Angular的新手,尝试使用Javascript AngularJs-无法通过使用ng单击重复ng生成的对象,javascript,angularjs,angularjs-ng-click,angular-services,ng-style,Javascript,Angularjs,Angularjs Ng Click,Angular Services,Ng Style,我是Angular的新手,尝试使用factory服务在控制器之间传递ng click上的一些数据,该服务基于服务器返回的数据以及前面的ng repeat生成的数据 这是HTML: <div ng-click="go('{{img.hashtag}}')" ng-repeat="img in obj" ng-style="{'background':url({{img.url}})'}"> <span class="boxName">{{img.hashtag}}<
factory
服务在控制器之间传递ng click
上的一些数据,该服务基于服务器返回的数据以及前面的ng repeat
生成的数据
这是HTML:
<div ng-click="go('{{img.hashtag}}')" ng-repeat="img in obj" ng-style="{'background':url({{img.url}})'}">
<span class="boxName">{{img.hashtag}}</span>
</div>
鉴于此不:
ng-click="selectHash($event);go('{{img.hashtag}}')"
因为它被解释为一个简单的字符串,而不是从对象中提取的数据
go
功能负责导航到另一页并将数据传递到相应的控制器
:
$scope.go = function (hash1) {
$location.path("hash");
$scope.hashFac = hashFac;
$scope.hashFac.hash = hash1;
};
工厂服务:
appName.factory("hashFac",function(){
return {
};
});
如何从
img
对象中提取数据并使用ng click
向前发送?您是否尝试过不使用引号”
和大括号{}
:
ng-click="selectHash($event);go(img.hashtag)"
您不应该在
ng click
&ng style
指令中真正使用{{}}
插值指令,而且在生成背景url时,您应该使用字符串连接
<div ng-click="go(img.hashtag)" ng-repeat="img in obj"
ng-style="{'background': 'url(' + img.url + ')'}">
指令
ng单击
按角度计算,因此不需要在此处使用任何大括号。将两个函数调用合并为一个:
$scope.buttonClicked = function(e, img) {
// e.preventDefault() or whatever
$scope.selectHash(e);
$scope.go(img.hashtag);
}
然后在模板中仅使用:
ng-click="buttonClicked($event, img)"
感谢您的回答,现在单击可以根据需要工作。我试图从
img.url
中删除大括号,但出现了一个错误gethttp://localhost/project/img.url 404(未找到)
ng-click="buttonClicked($event, img)"