将 object 中的成对数据绑定到 ng-repeat 之外的另一个元素 - angular

Bind paired data in object to another element outside ng-repeat - angular

我有这个 objects 数组需要处理:

$scope.pdfs = [
  { "pdf_title": "Corporate Hire", "attached_file": "http://file1.jpg"},
  { "pdf_title": "Wedding Hire", "attached_file": "http://file2.jpg"},
  { "pdf_title": "Filming Hire", "attached_file": "http://file3.jpg"}
];

里的pdf_file值为ng-repeated

我想做的是,如果点击那个 li,将它的配对推送到另一个 div,比如 href 的 src。

这是我的工作,但不太正确:

控制器功能:

$scope.bindWithFile = function(value) {
            var currentValue = $scope.corpResult = value;

        // pdfs support
        var pdfs = $scope.pdfs;

        for (var i = pdfs.length - 1; i >= 0; i--) {
            if (currentValue == hasOwnProperty(key[pdfs])) {
                value[pdfs] = $scope.corpLinkHref;
            }
        };

标记:

<div class="w-12" ng-controller="corpHireController">
    <div class="c-6-set">
        <ul>
            <li ng-repeat="pdf in pdfs" class="col-7 link link-inherit" ng-click="bindWithFile(pdf.pdf_title)">{{::pdf.pdf_title}}</li>
        </ul>
    </div>
    <div class="c-6-set">
        <div class="w-12">
            <i class="fs-4 col-7 icon icon-pdf"></i>
        </div>
        <span class="col-7 h4" ng-bind="corpResult"></span>
        <button ng-href="{{::corpLinkHref}}" class="button green2-button smaller-letters full-width">Download</button>
    </div>
</div>

需要什么: 点击左边的标题,绑定pdf图标下的pdf_title,绑定attached_file到按钮的href

与其传递所选 pdf 的 title,不如传递整个对象。这样您就不必执行任何 findsearch 函数。

标记:

<div class="w-12" ng-controller="corpHireController">
  <div class="c-6-set">
    <ul>
      <li ng-repeat="pdf in pdfs" class="col-7 link link-inherit" 
          ng-click="bindWithFile(pdf)">
        {{::pdf.pdf_title}}
      </li>
    </ul>
  </div>
  <div class="c-6-set">
    <div class="w-12">
      <i class="fs-4 col-7 icon icon-pdf"></i>
    </div>
    <span class="col-7 h4" ng-bind="corpResult"></span>
    <button ng-href="{{::corpLinkHref}}" 
            class="button green2-button smaller-letters full-width">
      Download
    </button>
  </div>
</div>

控制器

$scope.bindWithFile = function(selectedPdf) {
  $scope.corpResult = selectedPdf.pdf_title;
  $scope.corpLinkHref = selectedPdf.attached_file;
}