javascript - AngularJs - 无法使用 ng-click 传递 ng-repeat 生成的对象

标签 javascript angularjs angularjs-ng-click angular-services ng-style

我是 Angular 新手,并尝试根据从服务器返回的数据和使用 factory 服务在 Controller 之间传递 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('some simple string')"

然而这并没有:

ng-click="selectHash($event);go('{{img.hashtag}}')"

因为它被解释为一个简单的字符串,而不是从对象中提取的数据。

go函数负责导航到另一个页面并将数据传递给相应的 Controller :

$scope.go = function (hash1) {
    $location.path("hash");
    $scope.hashFac = hashFac;
    $scope.hashFac.hash = hash1;
};

工厂服务:

appName.factory("hashFac",function(){
    return {

    };
});

如何从 img 对象中提取数据并使用 ng-click 继续发送数据?

最佳答案

您不应该在 ng-clickng-style 指令中真正使用 {{}} 插值指令,同时生成背景 url 应使用字符串连接。

<div ng-click="go(img.hashtag)" ng-repeat="img in obj" 
  ng-style="{'background': 'url(' + img.url + ')'}">

关于javascript - AngularJs - 无法使用 ng-click 传递 ng-repeat 生成的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390956/

相关文章:

javascript - 创建一个空范围?

css - 颜色代码未在同一行对齐

angularjs - 如何使用模型属性作为变量 ng-click

angularjs - 如何动态添加 ng-click 处理程序

javascript - Angular7 中设备时区更改时自动检测并提示

javascript - 使用 hello.js 登录 Instagram

javascript - VSCode HTML 缩进,同一行的结束标记

angularjs - 绝对 URL 与 ng-src 混淆

angularjs - 在自定义触发器上显示 angular ui bootstrap uib-tooltip

javascript - 为什么我不能在 jQuery 对话框中使用 ng-click