【问题标题】:How to pass guid to angular ng-init如何将 guid 传递给角度 ng-init
【发布时间】:2014-02-16 15:32:56
【问题描述】:

我正在尝试将以下值传递给角度 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&p1=is%20unexpected%2C%20expecting%20%5B)%5D&p2=21&p3=updatesubscriber(921AC694-BA62-4388-AD92-282BD95526E1)&p4 =AC694-BA62-4388-AD92-282BD95526E1)

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

我怎样才能只传递 ViewBag.payer 并防止此错误?

【问题讨论】:

  • 什么是updatesubscriber()

标签: angularjs


【解决方案1】:

你几乎拥有它。当您的 &lt;input&gt; 呈现服务器端时,@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 的文本块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2018-09-03
    相关资源
    最近更新 更多