我的jQuery
代码如下所示:
$("body").on("click", ".nav-bar", function(e){
$(".my-nav").addClass("open");
});
我想对此进行角度化。有几个不同的控制器/视图将具有
.nav-bar
类,因此我很确定我将必须使用指令。我只是不确定该怎么做。理想情况下,我可以剥离所有jQuery。谢谢
最佳答案
创建一个指令:
.directive("navbarAction", function() {
return {
restrict: 'A', //<---Look up what this does, there are other options
link: function(scope, elem, attrs) {
//Using jQuery
$(elem).click(function() {
$(".my-nav").addClass("open");
});
}
}
});
然后在
.nav-bar
元素中添加一个navbar-action
属性。样品:
<input type='button' value='Click me!' navbar-action />
Angular还附带了jqLite(您猜对了,它是jQuery的精简版本),因此在导入整个jQuery库之前,请查看是否可以使用jqLite完成所需的工作。