gpt4 book ai didi

javascript - Angularjs $scope 变量未在 View 中更新

转载 作者:搜寻专家 更新时间:2023-11-01 04:54:22 25 4
gpt4 key购买 nike

我是 Angularjs 的新手,我试图在两个单独的函数中更新两个 $scope 变量,这两个函数在 ng-click 上调用。

即使变量更新,它们也不会在 View 中重新绑定(bind)。

HTML

<div ng-app="">
<div ng-controller="MainCtrl">
<p> <a href="#" ng-click="getDetails();getElse()">Refresh</a> </p>
<p ng-controller="MainCtrl"><span ng-bind="something"></span></p>
<p ng-controller="MainCtrl"><span ng-bind="somethingelse"></span></p>
</div>
</div>

JS 函数 MainCtrl($scope) {

$scope.something = "something";
$scope.somethingelse = "else";

$scope.getDetails = function () {
alert("getdetails before change: "+$scope.something);
$scope.something = 'changed';
alert("getdetails: "+$scope.something);
};

$scope.getElse = function () {
alert("getElse before change: "+$scope.somethingelse);
$scope.somethingelse = 'changed';
alert("getElse: "+$scope.somethingelse);
};

}

我创建了一个 fiddle 来向您展示我的意思:http://jsfiddle.net/M3pZ8/

谁能告诉我这样做的正确方法是什么?

提前致谢。

最佳答案

这是因为您声明了 3 次 MainCtrl,有效地创建了 3 个独立的作用域。您只需要一次,在顶部。

<div ng-controller="MainCtrl">
<p> <a href="#" ng-click="getDetails();getElse()">Refresh</a> </p>
<p><span ng-bind="something"></span></p>
<p><span ng-bind="somethingelse"></span></p>
</div>

关于javascript - Angularjs $scope 变量未在 View 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22717842/

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