在运行时未计算角度表达式.为什么

Angular expression is not getting evaluated at run time. Why?

本文关键字:表达式 为什么 计算 运行时      更新时间:2023-09-26

我是角度新手,我有以下问题。

我有一个这样的 html 代码:

<ul class="board-list gutter js-board-list clearfix">
   <li class="" ng-repeat="board in boardsUserOwns.success.boards">
        <a class="js-open-board highlight-icon    unknown" ng-click="getBoardDetails('{{board[0]}}')" href="" style="  background-color: #0E74AF; ">
        <span class="thumbnail" style=" ; background-color: #0E74AF; "></span>
        <span class="fade"></span>
        <span class="board-list-item-name" title="Geneva">{{board[0]}}</span>
        </a>
   </li>
<ul>

该行:

<a class="js-open-board highlight-icon    unknown" ng-click="getBoardDetails('{{board[0]}}')" href="" style="  background-color: #0E74AF; ">

有一个角度的JS表达式{{board[0]}}

当这个页面加载到浏览器中时,我可以在控制台中看到上面的html,如下所示:

<a class="js-open-board highlight-icon    unknown" ng-click="getBoardDetails('userwithbelongsto1')" href="" style="  background-color: #0E74AF; ">

按预期工作。

我发现的问题是,当我单击a标签时;在控制器中,我得到未评估的角度代码:

$scope.getBoardDetails = function(boardName)
{
   console.log("The board name is " + boardName)
}

控制台打印:

 The board name is {{board[0]}}

我现在很困惑,我在哪里犯了错误。

提前谢谢。

您不需要大括号。试试getBoardDetails(board[0])

您在控制台中看到{{board[0]}}打印的原因是,该字符串是作为 boardName 参数发送到函数的内容。正如你所看到的,getBoardDetails('{{board[0]}}')说,用字符串调用这个函数 {{board[0]}} .但是当解析 html 时,它会正确替换该表达式。

我必须在单击图中的网格元素时显示单个板。我正在从数据库中获取borad_id,下一步如何进行。图网址 :- https://i.stack.imgur.com/x0Sn2.png

app.config(['$stateProvider', function($stateProvider) {
  $stateProvider
  .state('board.boardDescription', {
      url: '/:bid',
      templateUrl:'js/main/templates/board.html'
    })
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<ul class="board-list gutter js-board-list clearfix" >
                    <li ng-repeat="board in boardName">
                     <a ui-sref="board.boardDescription({bid:board._id})" class="js-open-board highlight-icon" style="background-color: #0066A1;">
                       <span class="details">
                          <span class="board-list-item-name">{{board.name}}</span>
                        </span>
                      </a>
                    </li>
                  </ul>

![示例图列表应用图]