当前位置: 首页 > 面试题库 >

在使用Angular JS进行模板化时使用辅助方法

白迪
2023-03-14
问题内容

当前正在将网站从其先前的模板转换为Angular。在之前的模板过程中,我们使用了能够调用辅助方法以正确显示数据的方法。例如:

<script type="text/javascript">
$.views.helpers({
    parseDate: function (jsonDate) {
      if (jsonDate != null) {
        var newDate = Utils.PrettyDate(Utils.ConvertJsonDateToJsDate(jsonDate));
        return newDate;
      }
    }
});
</script>


<div class="post-info">
  <span class="posted-date">Posted {{ :~parseDate(CreatedDate) }}</span>
  &nbsp|&nbsp
  <span>{{ :ReplyCount }} Replies</span>
</div>

很好 尝试找出一种在模板化方面将相同类型的功能用于Angular的方法。是否可以做类似的事情?如果可以,怎么办?


问题答案:

您只需将方法添加到控制器即可。像这样:

<div class="post-info" ng-controller="MyCtrl">
    <span class="posted-date">Posted {{parseDate(CreatedDate)}}</span>
</div>

然后控制器:

function MyCtrl($scope)
{
     $scope.parseDate = function(jsonDate) {
        //date parsing functionality
        return newParsedDate;
     }
}


 类似资料:
  • 我试图在类型s. t上专门化一个类。它忽略了给定类型的恒定性。在这种情况下,该类型是一个模板模板参数: 上面的代码在GCC 4.8.4和clang 5.0(with-std=c 11)中都抱怨bar在与匹配FOFType模板参数化的类一起使用时未定义。即使我删除了sfinae参数,仍然无法找到特化。 这个问题的一个例子可以在这里找到:https://godbolt.org/g/Cjci9C.在上面

  • 问题内容: 如何定义在模板帮助器中也可以调用的Meteor方法? 我有两个文件: 文件:lib / test.js 文件:client / myView.js 当我给“ str”一个普通的字符串时,一切正常。但是在这种情况下,我的模板没有任何价值。我为测试定义了该方法为普通函数的文件,并尝试调用该函数。我得到的错误是该功能不存在。因此,我认为Meteor会在不了解我为其定义的方法之前尝试渲染模板。

  • 问题内容: 我想加载一个内联视图模板。 我将模板包装在类型为的脚本标签中,并将ID设置为。这是我的模块配置 它在控制台窗口中告诉我,这意味着它正在寻找该名称的文件。 我的问题是:如何配置路由以使用嵌入式模板? 更新:这是我的服务器渲染的DOM的样子 问题答案: Ody,您的方向正确,唯一的问题是标记位于使用指令的DOM元素 之外。如果将其移至元素,则内联模板应该可以使用。

  • 问题内容: 我正在尝试使用SCAN http://redis.io/commands/scan来遍历redis中存在的所有键。但是spring提供的Redis模板没有任何scan()方法。有什么技巧可以使用以上内容吗? 谢谢 问题答案: 您可以使用on 来这样做。

  • 使用 Groovy 模板引擎框架简化报表视图 视图是 MVC 编程的一个重要部分,而 MVC 编程本身又是企业应用程序开发的一个重要组件。在这篇实战 Groovy 的文章中,Andrew Glover 向您介绍了 Groovy 的模板引擎框架是如何用来简化视图编程的,并如何使您的代码更加经久容易维护。 在最近的 实战 Groovy系列中,我们已经介绍过 Groovy 是构建报表统计程序的一个非常好

  • 问题内容: 我只是在学习Angularjs,以及如何使用templateUrl加载模板。 我有一个简单的指令: 我尝试使用这样的指令: 打开页面后,出现以下异常: 我没有确定要跨域加载模板文件(te.html与default.html处于同一折叠)。 有人可以帮我弄清楚发生了什么吗? 问题答案: 问题是您正在使用文件协议(使用协议)运行示例,并且许多浏览器(Chrome,Opera)在使用协议时都