簡體   English   中英

在 ng-init 中聲明多個值

[英]Declare multiple values in ng-init

所以我想知道如何在單個 ng-init 中聲明多個值,而不必創建一些奇怪的哈希,然后我需要始終專門訪問。

所以基本上我想要

<div ng-init="a = 1, b = 2">{{a}}</div>

我是說我想避免不得不做

<div ng-init="unecessary_bs = {a: 1, b: 2}">{{unecessary_bs.a}}</div>

然而合理的:

<div ng-init="a = 1, b = 2">{{a}}</div>

似乎不起作用。

期待感謝

使用函數,方式更具可讀性:

ng-init="init()"

和:

$scope.init = function() {
    $scope.a = 1;
    $scope.b = 2;
}

或者,如果必須,用分號分隔內聯變量:

ng-init="a = 1; b = 2"

有時將變量放在函數中並不理想。 例如,您的后端在 express 中,並且您正在使用 jade 渲染文件。

使用 Express.js,您可以將局部變量發送到 html。 Angular 可以接受這些變量

ng-init=""

使用 ”;” 一個可以有多個變量

例子

ng-init=" hello='world'; john='doe' "  

我更喜歡用對象初始化變量包裝:

<div ng-init="initObject = {initParam: 'initParamValue', anotherOne: 'value'}"></div>
 <div ng-app="app">
  <div ng-controller="TodoCtrl">
    <ul>
      <li ng-repeat="todo in todos" ng-init='initTodo = init(todo)'>
        <span class="done-{{todo.done}}">{{todo.text}} |
                               and todo.text via init:{{initTodo}}</span>
      </li>
    </ul>

  </div>

  var modulse = angular.module("app",[]);

  modulse.controller("TodoCtrl", function ($scope)  {

            $scope.todos = [ {text:'todo1'}, {text:'todo2'}]; 

            $scope.init = function (todo) {  return todo.text; };

  });

只需用半冒號{{a}}代替昏迷即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM