当我不使用$scope
语法来实现我的函数而是使用controller as
语法时,如何从浏览器的控制台调用控制器的函数。注入没有ng-controller
,因此我无法使用this SO question中提出的方法。我使用$stateProvider
ui-router
将我的控制器设置为如下视图:
$stateProvider.state('contacts', {
template: ...,
controller: 'ContactsCtrl as contact'
})
答案 0 :(得分:0)
按浏览器我假设您的意思是HTML代码。 如何在控制器定义中定义范围函数?
如果你正在使用
中的虚拟模型function ContactsCtrl(){
var vm = this;
vm.scopeFn = function(){
//Do sumthin
}
}
然后你可以从html中执行此操作:
<button ng-click="contact.scopeFn()" />
更新:如果您的意思与<script>
代码中的内容相同,请使用浏览器的JS,
function ContactsCtrl(){
var vm = this;
vm.scopeFn = function(){
//Do sumthin
}
window.globalFn = vm.scopeFn;
}
然后从浏览器中调用它:
<script>
//on some event :
window.globalFn();
</script>
我希望这会有所帮助。虽然我不建议在角度app模块之外暴露控制器功能。但是,如果您想要临时修复,请继续使用此方法。