在ng-init中声明多个值

Cos*_*min 82 javascript angularjs

所以我想知道如何在单个ng-init中声明多个值,而不必创建一些奇怪的哈希,然后我需要始终专门访问.

所以基本上我想

<div ng-init="a = 1, b = 2">{{a}}</div>
Run Code Online (Sandbox Code Playgroud)

我说我想避免这样做

<div ng-init="unecessary_bs = {a: 1, b: 2}">{{unecessary_bs.a}}</div>
Run Code Online (Sandbox Code Playgroud)

但合理的:

<div ng-init="a = 1, b = 2">{{a}}</div>
Run Code Online (Sandbox Code Playgroud)

似乎不起作用.

期待的谢谢

tym*_*eJV 140

使用一种更具可读性的功能:

ng-init="init()"
Run Code Online (Sandbox Code Playgroud)

和:

$scope.init = function() {
    $scope.a = 1;
    $scope.b = 2;
}
Run Code Online (Sandbox Code Playgroud)

或者,如果必须,使用分号分隔内联变量:

ng-init="a = 1; b = 2"
Run Code Online (Sandbox Code Playgroud)

  • 这不适用于ng-repeat,因为它有自己的范围,请参阅http://jsfiddle.net/U3pVM/13212/ (7认同)

and*_*yjr 36

有时将变量放在函数中并不理想.例如,你的后端是快递,你使用玉渲染文件.

使用Express.js,您可以将本地变量发送到html.Angular可以接受这些变量

ng-init=""
Run Code Online (Sandbox Code Playgroud)

使用";" 一个人可以有多个变量

ng-init=" hello='world'; john='doe' "  
Run Code Online (Sandbox Code Playgroud)


ale*_*x.b 7

我更喜欢用对象初始化变量包装:

<div ng-init="initObject = {initParam: 'initParamValue', anotherOne: 'value'}"></div>
Run Code Online (Sandbox Code Playgroud)