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

Ng-init通过函数

和斌
2023-03-14
问题内容

如您所知,可以如下初始化对象:

<div ng-init="friends = [{name:'John', phone:'555-1276'},
                         {name:'Mary', phone:'800-BIG-MARY'},
                         {name:'Mike', phone:'555-4321'},
                         {name:'Adam', phone:'555-5678'},
                         {name:'Julie', phone:'555-8765'},
                         {name:'Juliette', phone:'555-5678'}]"></div>

是否可以通过函数定义类似这样的对象:

<div ng-init="init()">

我的目标实际上是从API中获取对象,并通过ng-repeat将它们显示在列表中


问题答案:

该文件说ng- init将采用任何表达方式。因此,是的,只要关联的作用域定义了一个称为的函数,您就可以做上面的事情init()(我也为乐趣进行了验证)。

请注意,该文档说,这ng-init实际上仅旨在用于别名ng-repeat

ngInit用于别名化ngRepeat的特殊属性的唯一适当用法,如下面的演示所示。除了这种情况,您应该使用控制器而不是ngInit来初始化作用域上的值。

最后,请注意,您可以在创建控制器时简单地初始化变量。因此,实际上根本不需要使用ng-init。例如:

var myApp = angular.module('myApp', []);

myApp.controller('myController', ['$scope', function($scope){

  $scope.init = function() {
    $scope.a = 'Apples';
    $scope.b = 'Bees';
    $scope.c = 'Zebras';
  };
  // runs once per controller instantiation
  $scope.init();

}]);


 类似资料:
  • 问题内容: 有没有人(更好)的方法来做到这一点? 可以说我有一个可选的Float 现在我想将其转换为Double 这显然会失败,但是有没有办法像通过计算变量那样通过函数链接可选项?我现在正在做的是这样的: 但是我真的不喜欢将强制转换作为计算变量。 我考虑使用的另一个选项是: 我意识到我可以保护’f’的值来解开它。但是,在许多情况下,可选值将是返回可选函数的参数。这导致防护中的中间值。如本例所示:

  • golang 里面有两个保留的函数: init 函数(能够应用于所有的 package) main 函数(只能应用于 package main) 这两个函数在定义时不能有任何的参数和返回值 go 程序会自动调用 init() 和 main(),所以你 不能 在任何地方调用这两个函数 package main 必须包含一个 main 函数,但是每个 package 中的 init 函数都是可选的 一

  • 问题内容: 表: 有了答案,我在这里得到了利用$ compile的这种方式 现在,当单击按钮时,我什至调用一个模态,并命令对象使用ng-model 感谢您的帮助,它运作良好。 问题答案: 编辑 :添加了用于演示 $ compile 用法的代码段 在html中,只有一个用于初始化应用程序的标签和一个用于初始化控制器的div。 在controller中,两个链接被创建为简单字符串,但分别具有两个,然后

  • 问题内容: 我想重复创建div,这些项目是函数返回的对象。但是,以下代码报告错误:达到10个$ digest()迭代。流产!jsfiddle在这里:http://jsfiddle.net/BraveOstrich/awnqm/ 问题答案: 简短的回答 :您真的需要这样的功能还是可以使用属性?http://jsfiddle.net/awnqm/1/ 长答案 为简单起见,我仅描述您的情况-ngRepe

  • 问题内容: 给定以下选择元素 有没有办法使MAGIC_THING等于当前选择的大小,因此我可以访问并在我的控制器中? size.code影响了应用程序的许多其他部分(图像网址等),但是当的ng-model 更新时,面向用户的东西也需要更新。我认为执行此操作的正确方法是捕获更改事件并在控制器内部设置值,但是我不确定可以将哪些内容传递给update以获取正确的值。 如果这是完全错误的解决方法,我很想知

  • 问题内容: 假设您有一个具有从数据库加载的值的表单。您如何初始化ng-model? 例: 在我的控制器中,$ scope.card最初是未定义的。除了做这样的事情,还有别的办法吗? 问题答案: 这是新的Angular应用程序中的常见错误。如果可以避免,您不想将值写入服务器上的HTML。如果确实如此,那么如果您可以摆脱让服务器完全呈现HTML的局面,那就更好了。 理想情况下,您要发送Angular