在我的HTML中
<li data-ng-repeat="module in sbVM.partialModules" data-ng-click="sbVM.selectModule('{{module.id}}', '{{module.name}}')">{{module.name}}</li>
已编译的HTML:
在我的代码背后:
sbVM.selectModule = function (id, name) {
sbVM.selectedModuleId = id;
sbVM.selectedModule = name;
activate(sbVM.selectedModuleId);
};
在Chrome调试器中:
我收到此错误:
当在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>
但这显然不是我想要的。从调试器中可以看出,实际值没有传递,只有控制器的属性名称。任何人都可以解释这个问题吗?
答案 0 :(得分:1)
<li data-ng-repeat="module in sbVM.partialModules"
data-ng-click="sbVM.selectModule(module.id, module.name)">
{{module.name}}
</li>
ng-click期待一个表达。