gpt4 book ai didi

javascript - Angularjs jquery 状态之间的绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 10:15:17 24 4
gpt4 key购买 nike

假设我有两种状态:

.state('page1', {
url: '/page1',
templateUrl: 'pages/templates/page1.html',
controller: 'page1'
})

.state('page2', {
url: '/page2',
templateUrl: 'pages/templates/page2.html',
controller: 'page2'
})

它们都有元素 <div id="clickme'>DO IT</div> .

<小时/>

在我的一个 Controller 中:

$("body").on('click', '#clickme', function(e) { alert("clicked"); });

但不在其他 Controller 上。

如果我的不同 Controller 中分别进行了很多绑定(bind),那么重新启动我的绑定(bind)的最有效方法是什么?

当我切换状态时,我不希望它们处于事件状态,因为有些事情可能会重叠,或者只是想确保没有重叠。

最佳答案

最有效的方法就是根本不这样做。正如评论所指出的,您可能不应该在 Angular 代码中使用 jQuery。 Its just not the Angular way .

您可能想要的是一些 directives :

.state('page1', {
url: '/page1',
template: '<page1>',
controller: 'page1'
})

.state('page2', {
url: '/page2',
template: '<page2>',
controller: 'page2'
})

然后在你的指令代码中你会得到类似的东西

.directive('page1', function() {
return {
template: '<div ng-click="doIt()">DO IT</div>',
link: function($scope){
$scope.doIt = function(){...}
}
};
});

关于javascript - Angularjs jquery 状态之间的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29905690/

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