gpt4 book ai didi

angularjs - angularjs 中的 $ctrl 是什么?什么时候在 View 中使用 $ctrl vs $scope?

转载 作者:行者123 更新时间:2023-12-04 02:56:33 24 4
gpt4 key购买 nike

例如 $ctrl 用于 View

<b>Heroes</b><br>
<hero-detail ng-repeat="hero in $ctrl.list"
hero="hero"
on-delete="$ctrl.deleteHero(hero)"
on-update="$ctrl.updateHero(hero, prop, value)">
</hero-detail>

何时使用 $ctrl 以及何时使用 $scope 与 View 交互?

https://docs.angularjs.org/guide/component

最佳答案

在 View 中,您可以将别名绑定(bind)到您的 Controller ,以便于引用 $scope 变量。

当您嵌套 Controller 并且不想引用来自不同 Controller 的某些内容时,这很有用。因为 $scope 遵循分层数据结构。

因此,为了限定您的 Controller 的范围,您可以使用此语法。

例如,有两个 Controller ,都具有相同的变量“名称”,您可以这样做:

<body ng-controller="ParentCtrl as ptr">
<input ng-model="name" /> {{ptr.name}}

<div ng-controller="ChildCtrl as chl">
<input ng-model="name" /> {{chl.name}} - {{ptr.name}}
</div>
</body>

这使得引用范围变量变得容易。

<b>Heroes</b><br>
<hero-detail ng-repeat="hero in $ctrl.list"
hero="hero"
on-delete="$ctrl.deleteHero(hero)"
on-update="$ctrl.updateHero(hero, prop, value)">
</hero-detail>

Angulajs 1.5之后,如果您正在使用组件,默认别名是$ctrl,当然您可以覆盖它。

关于angularjs - angularjs 中的 $ctrl 是什么?什么时候在 View 中使用 $ctrl vs $scope?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52926554/

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