JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JavaScript`bind`方法无法正常工作大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
以下控制器没有问题.
app.controller('foo',['$scope',function ($scope) {
        $scope.delete = function(){
            bar($scopE);
         }
    }]);

我试通过使bind使它更清洁一些:

app.controller('foo',function ($scope) {
        $scope.delete = bar.bind(null,$scopE);
    }]);

不幸的是,此表单不按预期方式工作,即使在$scope已更改为引用不同的值之后,$scope始终以绑定方法(bar herE)的旧版本的$scope提供.这是怎么回事?

还有什么?

如果我不应该在这里使用绑定,有什么可选择的?

解决方法

我假设你的问题是,你的绑定的Util.bar总是提供一个旧版本的$scope,即使在$scope变为引用不同的值之后.

绑定绑定值,而不是变量.您将$scope的当前值绑定到Util.bar.另一方面,您的第一个样式会在每次运行函数时强制将标识符$scope解析为值(或真正的外部范围变量记录).

如果$范围更改以引用完全不同的值,则必须使用第一个表单. .bind(null,$scopE)将立即将$scope解析为一个值,并永远使用该值,而第一个无绑定的形式将在每次运行函数时将$scope解析为一个值.

大佬总结

以上是大佬教程为你收集整理的JavaScript`bind`方法无法正常工作全部内容,希望文章能够帮你解决JavaScript`bind`方法无法正常工作所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。