Javascript AngularJs-无法通过使用ng单击重复ng生成的对象

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}}<

我是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}}</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)"