AngularJS - 未从下拉列表传递的实际值

时间:2014-05-25 15:40:43

标签: angularjs

在我的HTML中

enter image description here

<li data-ng-repeat="module in sbVM.partialModules" data-ng-click="sbVM.selectModule('{{module.id}}', '{{module.name}}')">{{module.name}}</li>

已编译的HTML:

enter image description here

在我的代码背后:

    sbVM.selectModule = function (id, name) {
        sbVM.selectedModuleId = id;
        sbVM.selectedModule = name;
        activate(sbVM.selectedModuleId);
    };

在Chrome调试器中:

enter image description here

我收到此错误:

enter image description here

当在html中对值进行硬编码时,一切都很好:

<li class="selectModule" data-ng-click="sbVM.selectModule('1', 'Personal Module')"></li>
<li class="selectModule" data-ng-click="sbVM.selectModule('2', 'Website Module')"></li>
<li class="selectModule" data-ng-click="sbVM.selectModule('3', 'Commerce Module')"></li>
<li class="selectModule" data-ng-click="sbVM.selectModule('4', 'Super Admin Module')"></li>

但这显然不是我想要的。从调试器中可以看出,实际值没有传递,只有控制器的属性名称。任何人都可以解释这个问题吗?

1 个答案:

答案 0 :(得分:1)

    <li data-ng-repeat="module in sbVM.partialModules" 
     data-ng-click="sbVM.selectModule(module.id, module.name)">
   {{module.name}}
   </li>

ng-click期待一个表达。