gpt4 book ai didi

javascript - 从外部 Controller 调用 Angular JS

转载 作者:行者123 更新时间:2023-11-28 01:09:31 24 4
gpt4 key购买 nike

我的 Angular 应用程序代码:

(function() {

var app = angular.module('checkout', []);
app.controller('TabController', function(){
this.tab2Done=0;
this.setTab2Done= function(newValue){
this.tab2Done = newValue;
};
});
})();

我想从 JavaScript 函数(函数名称调用)调用 tab2Done。我在互联网上找到了解决方案,并尝试了该方法,但它不起作用。这是我尝试过的方法:

具有 ng-controller="TabController" 的 div 具有 id="yourControllerElementID"

这是我的 JavaScript 函数:

function call(){   
alert();
e=$('#yourControllerElementID');
scope=angular.element(e).scope();
scope.$apply(function(){
scope.setTab2Done(1);
});
}

但我收到一个错误:

at Scope.$eval at Scope.$apply

我做错了什么?

最佳答案

我认为你的问题是你尝试调用的方法不在你的范围内。从您在 Controller 中的“this”上设置方法的事实来看,您似乎正在使用“Controller as”语法。

您可以为您的示例提供一个 plunker,但让我尝试使用以下代码解决您的问题:

function call(){   
var element = angular.element('#yourControllerElementID');
var controller = element.controller();
var scope = element.scope();
scope.$apply(function(){
controller.setTab2Done(1);
});
}

关于javascript - 从外部 Controller 调用 Angular JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24649845/

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