ng-bind无法使用函数调用

时间:2016-08-21 17:18:58

标签: angularjs

我想用span来绑定当前的日期和时间,

<span id="lastUpdated" ng-bind="'loadMessage'"></span>

我从函数返回“loadMessage”的值,但它不起作用,

$scope.loadMessage = updateInfo();

function updateInfo() {
var today = new Date();
return "Last updated " + today.toLocaleString() + ".";
} 

5 个答案:

答案 0 :(得分:2)

我假设您只想在初始加载时获取日期值。您的'表达式周围不需要ng-bind(单个qoute),因此需要$scope

<span id="lastUpdated" ng-bind="loadMessage"></span>

Demo Here

答案 1 :(得分:1)

你可以这样做,

查看

<div ng-controller="namectrl">
    <span id="lastUpdated" ng-bind="loadMessage()"></span>
  </div>

<强>控制器

 $scope.loadMessage = function() {
     var today = new Date();
     return "Last updated " + today.toLocaleString() + ".";
   }

Demo App

答案 2 :(得分:0)

删除ng-bind语句中的单引号,它将起作用:

Hello <span ng-bind="loadMessage"></span>!

答案 3 :(得分:0)

删除@Pankaj Parkar建议的单引号并执行$ scope。$ apply();在调用updateInfo函数之后。它应该走出消化周期。

答案 4 :(得分:0)

如果您尝试使用函数绑定值,则

<div class="col-md-4">
   {{getFee(app.subject)}}
</div>

您可以像这样调用该函数

$scope.getFee = function (id) {
    var fees = '';
    $scope.subjects.forEach(element => {
       if (element.subject == id) {
          fees = element.subjectDetails.examFee;
          return false;
       }
    });
    return fees;
}