如何将guid传递给角度ng-init

时间:2014-02-16 15:32:56

标签: angularjs

我正在尝试将以下值传递给angular ng-init方法

ViewBag.payer = "921AC694-BA62-4388-AD92-282BD95526E1"

<input ng-model ="pid" ng-init="updatesubscriber(pid = @ViewBag.payer )"/>

我一直收到以下错误: 错误:[$ parse:syntax] http://errors.angularjs.org/1.2.11/ $ parse / syntax?p0 = AC694&amp; p1 = is%20unexpected%2C%20expecting%20%5B)%5D&amp; p2 = 21&amp; p3 = updatesubscriber(921AC694-BA62 -4388-AD92-282BD95526E1)及P4 = AC694-BA62-4388-AD92-282BD95526E1)

似乎角度不像付款人字符串中的连字符,并且可能将字符串作为表达式进行评估..

如何通过ViewBag.payer并防止出现此错误?

1 个答案:

答案 0 :(得分:1)

你几乎拥有它。当您的<input>呈现时,服务器端@ViewBag.payer将是一个guid。但是你想要一个JavaScript中的字符串。所以,你只需要在它周围加上引号:

<input ng-model ="pid" ng-init="updatesubscriber(pid = '@ViewBag.payer' )"/>

然后,它应呈现为:

<input ng-model ="pid" ng-init="updatesubscriber(pid = '921AC694-BA62-4388-AD92-282BD95526E1' )"/>

JavaScript不知道如何评估看起来像21AC694-BA62-4388-AD92-282BD95526E1的文本块。