gpt4 book ai didi

javascript - Angularjs ng-click 不更新 View

转载 作者:行者123 更新时间:2023-11-30 05:32:45 26 4
gpt4 key购买 nike

myApp.controller( 'ModalNewInstanceCtrl', [ '$scope', '$modalInstance', function( $scope, $modalInstance ) {

$scope.tabSelected = 0;

$scope.saveFactor = function () {
console.log('here');
$scope.tabSelected = 0;
console.log($scope.tabSelected);
};

那是我的 Controller 。

    <div class="modal-header">
<div ng-click="tabSelected = 0">Tab 1</div>
<div ng-click="tabSelected = 1">Tab 2</div>
<div ng-click="tabSelected = 2">Tab 3</div>

</div>
<div class="modal-body">
<div ng-show="tabSelected == 0">
<h3>Some content 1 here</h3>
</div><div ng-show="tabSelected == 1">
<h3>Some content 2 here</h3>
</div>
<div ng-show="tabSelected == 2">
<h3>Some content 3 here</h3>
</div>
</div>
<div class="modal-footer">
<button ng-click="saveFactor()">Save and return to tab 1</button>
<a ng-click="tabSelected = 0">Cancel and return to tab 1</a>
</div>
</div>

那是我的 html。我不知道为什么tabSelected使用 ng-click="tabSelected = 0" 更新取消链接的 View 直接更改但不在函数内部更改 saveFactor() .我知道由于控制台日志语句,函数被正确调用。和 tabSelected也改变了,但没有改变观点。我不能 $scope.$apply()在那个函数里面,因为它给我一个错误。

最佳答案

更改您的 HTML 以在修改范围变量时使用函数
HTML:

<div class="modal-header">
<div ng-click="changeTab(0)">Tab 1</div>
<div ng-click="changeTab(1)">Tab 2</div>
<div ng-click="changeTab(2)">Tab 3</div>
...
<div class="modal-footer">
<button ng-click="saveFactor()">Save and return to tab 1</button>
<a ng-click="changeTab(0)">Cancel and return to tab 1</a>
</div>

JS:

$scope.tabSelected = 0;

$scope.saveFactor = function () {
console.log('here');
$scope.tabSelected = 0;
console.log($scope.tabSelected);
};
$scope.changeTab= function(tabNum){
$scope.tabSelected = tabNum;
};

关于javascript - Angularjs ng-click 不更新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25894511/

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