angular和ng-click中方法名的改变

就是我用angular,用ng-click定义一个方法名比如叫bb(),然后我通过attr()这个方法改变了ng-click的属性值,把bb()改成的aa(),但我点击页面的时候还是触发了bb()这个方法,那怎么让它可以触发aa()这个函数

阅读 3.3k
3 个回答

你应该做个函数动态决定调用哪个函数。。你在运行时修改 angular 是无法识别的。

function determine(flag){
    switch(flag){
        case 'xxx':
            xxx()
            break;
        case 'yyy':
            yyy()
            break
    }
}

在变量改变外面加上$scope.apply(fun),可以手动实现脏检查,实现刷新。你可以试试把换取属性值的函数放到$scope.apply(fun)里

想法好复杂呀,试试一楼的方法,应该是好用的。一个方法写两套逻辑,根据参数来决定执行哪部分。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进