그래서 이상한 해시를 만들지 않고도 단일 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"
답변
때로는 변수를 함수에 넣는 것이 이상적이지 않습니다. 예를 들어 백엔드가 익스프레스 상태이고 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; };
});