如何使用AngularJS在click事件中传递字符串?

时间:2016-05-21 13:19:35

标签: angularjs

如何将计算字符串传递给AngularJS中的函数?

这是我的代码:

<div ng-click="wos.wordFormRowClicked(wf)"
     ng-form="wos.wordFormNgForm_{{wf.wordFormIdentity}}"
     ng-repeat="wf in wos.word.wordForms">
        <div>
            <div ng-click="wos.wordFormDefinitionRowClicked(d)"
                 ng-repeat="d in wf.wordDefinitions">
                <div>
                    <span ng-click="wos.wordFormDeleteDefinition("wos.wordFormNgForm_{{wf.wordFormIdentity}}", wf.wordFormId, d.wordDefinitionId)"
                          ></span>
                </div> 

我正在尝试传递一个字符串作为函数wos.wordFormDeleteDefinition的第一个参数,但它给了我一个运行时错误。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以尝试此操作 - 使用str_param

初始化新模型ng-init
<span ng-init="str_param = (wos.wordFormNgForm_{{wf.wordFormIdentity}} | toString)" 
ng-click="wos.wordFormDeleteDefinition(str_param, wf.wordFormId, d.wordDefinitionId)">
</span>

PS:我不确定这些值是什么,如果上述代码失败,请尝试删除{{}}| toString以查看是否有效。

答案 1 :(得分:1)

由于您希望对字符串进行插值,因此将表达式和字符串作为2个不同的值传递给函数并在控制器中处理它们:

<span ng-click="wos.wordFormDeleteDefinition('wos.wordFormNgForm_', wf.wordFormIdentity, wf.wordFormId, d.wordDefinitionId)"
                      ></span>