Angularjs jquery 状态之间的绑定
Angularjs jquery binding between states
假设我有两个状态:
.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>
。
在一个控制器中我有:
$("body").on('click', '#clickme', function(e) { alert("clicked"); });
但不在另一个控制器上。
如果我在不同的控制器中分别进行大量绑定,重新启动我的绑定的最有效方法是什么?
我不希望它们在我切换状态时处于活动状态,因为有些事情可能会重叠,或者只是想确保没有任何重叠。
最有效的方法是根本不做。正如评论所指出的,您可能不应该在 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(){...}
}
};
});
假设我有两个状态:
.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>
。
在一个控制器中我有:
$("body").on('click', '#clickme', function(e) { alert("clicked"); });
但不在另一个控制器上。
如果我在不同的控制器中分别进行大量绑定,重新启动我的绑定的最有效方法是什么?
我不希望它们在我切换状态时处于活动状态,因为有些事情可能会重叠,或者只是想确保没有任何重叠。
最有效的方法是根本不做。正如评论所指出的,您可能不应该在 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(){...}
}
};
});