javascript tutorial Dichiara più valori in ng-init




{{ angularjs (4)

Quindi mi chiedo come posso dichiarare più valori all'interno di un singolo ng-init, senza dover creare qualche strano hash, che poi devo sempre accedere in modo specifico.

quindi fondamentalmente mi piacerebbe

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

e sto dicendo che vorrei evitare di doverlo fare

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

Comunque il ragionevole:

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

non sembra funzionare.

Grazie anticipati


Utilizzare una funzione, in modo più leggibile:

ng-init="init()"

E:

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

Oppure, se necessario, separare le variabili inline con un punto e virgola:

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

 <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>

E

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

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

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

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

  });

A volte non è l'ideale per mettere le variabili in una funzione. Ad esempio il tuo back-end è espresso e stai riproducendo un file usando jade.

Con Express.js puoi inviare variabili locali all'html. Angolare può accettare queste variabili con

ng-init=""

Utilizzando ";" uno può avere più variabili

Esempio

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

Preferisco il wrap con la variabile object init:

<div ng-init="initObject = {initParam: 'initParamValue', anotherOne: 'value'}"></div>




angularjs