gpt4 book ai didi

javascript - ng-if 不使用简单的 javascript

转载 作者:行者123 更新时间:2023-12-03 04:39:38 25 4
gpt4 key购买 nike

当我通过简单的 javascript 函数更改值时,ng-if 不起作用。我的函数正在被调用,但在 View 中看不到值的更改。请引用下面的代码。

HTML

<div id="span" ng-app='MyModule' ng-cloak ng-controller="MyController">

<div ng-if="!bool">
This is for true
</div>
<div ng-if="bool">
This is False
</div>
{{bool}}
<br>
<input type="submit" ng-click = "myfunction('test')" value="ng-if button">
</div>
<input type="submit" onClick = "check1()" value="simple JS button">

JS

angular.module('MyModule', [])
.controller('MyController', function ($scope) {
$scope.bool = true;
$scope.myfunction = function (data) {
$scope.bool = !$scope.bool;
};
});
function check1() {
angular.element(document.getElementById('span')).scope().myfunction('test');
}

当我使用ng-click button时它改变了 bool 的值更改,但 simple JS button 不会发生同样的情况。实际上我正在一个已经使用 jQuery 的页面中实现 Angular,所以我需要使用 simple JS button .

JS Fiddle:JS Fiddle

最佳答案

首先,ng-click能够解析 Angular 表达式。

其次,它处理对当前作用域的引用并执行对 $scope.$apply 的调用通知任何观察者进行更新。如果您将调用添加到 angular.element(document.getElementById('span')).scope().$apply()在您的函数中,它应该按预期工作。

关于javascript - ng-if 不使用简单的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43142237/

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