gpt4 book ai didi

javascript - 如何使用新的 `controller as` 语法执行 $scope.$apply() ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:20 25 4
gpt4 key购买 nike

在 AngularJS 中他们有 $scope.$apply()当模型更改不是通过正常的 AngularJS 方法完成时更新 UI 的方法。

在最近的教程中,他们推荐使用 <controller> as <object>实例化对象的风格和使用 this作为他们示例中的范围

.controller('TodoListController', function() {
var todoList = this;

但是todoList.$apply()似乎不起作用。我是否被迫使用 $scope.$apply()为此?

最佳答案

是的,您必须使用 $scope.$apply(),但这并不是一件坏事。

在阅读应该使用 controllerAs 语法之后,我也遇到了同样的困境。几个月后我什至问了这个问题In an isolate scope directive is there any difference between defining variables on scope and defining variables on the controller?

想了想,答案是controllerAs语法并不是对$scope的厌恶,而是一种防止全局状态存储在中的设计模式$scope 因为那是你开始嵌套范围的时候,这会导致很多问题。

$scope 不是坏东西。它只会让你把自己搞砸,但如果你需要使用它,你不应该阻止自己这样做。

关于javascript - 如何使用新的 `controller as` 语法执行 $scope.$apply() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32063335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com