在控制器中使用$ scope和this有什么区别?

这个问题在这里已经有了答案:

  • AngularJS控制器中的'this'与$ scope有关的7个答案

  • 范围是可用于视图的对象。 视图可以使用Angular绑定表达式,并且这些表达式在范围上进行评估:

    <div ng-controller="MyCtrl">
        {{ s_my_int }} // will display 12
    
        {{ t_my_int }} // won't display anything: the scope doesn't have a t_my_int property
    </div>
    

    然而,有些人更喜欢将控制器本身暴露给范围。 这可以使用controller as语法:

    <div ng-controller="MyCtrl as foo">
        {{ s_my_int }} // will display 12
    
        {{ foo.t_my_int }} // will display 12
    </div>
    

    这是一个偏好问题。 我个人更喜欢使用范围,因为它避免了与处理this有关的许多JS问题。 控制器作为语法的优势在于,它允许在控制器嵌套时告知哪个控制器获取值和调用函数,而不是依赖于范围继承。

    链接地址: http://www.djcxy.com/p/77801.html

    上一篇: What is the difference between using $scope and this in controllers?

    下一篇: AngularJS: code not working when iterating through object