在运行时不会评估角度表达式。为什么?

时间:2014-12-07 05:03:09

标签: javascript angularjs

我是棱角分明的新手,我有以下问题。

我有一个像这样的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]}}

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

你不需要花括号。试试getBoardDetails(board[0])

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

答案 1 :(得分:0)

我必须在图中的网格元素上单击显示单个板。我从数据库获取borad_id,如何继续下一步。 数字网址: - http://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>

![样本待办事项应用程序图]