Javascript AngularJS指令仅在ng包含更改之前有效
我有一些AngularJS指令,只能工作一次。当视图更改并且您返回它们不再工作时,不涉及页面刷新,但是我们使用一个简单的视图加载系统,使用ng include进行页面更改(子页面不是主路由) 我有一些类似这样的标记Javascript AngularJS指令仅在ng包含更改之前有效,javascript,angularjs,Javascript,Angularjs,我有一些AngularJS指令,只能工作一次。当视图更改并且您返回它们不再工作时,不涉及页面刷新,但是我们使用一个简单的视图加载系统,使用ng include进行页面更改(子页面不是主路由) 我有一些类似这样的标记 <div class="row" ng-controller="mainCtrl"> <ul class="sidebar span3" sub-nav> <li><a ng-click="changePage('us
<div class="row" ng-controller="mainCtrl">
<ul class="sidebar span3" sub-nav>
<li><a ng-click="changePage('users')">Users</a></li>
<li><a ng-click="changePage('posts')">Posts</a></li>
</ul>
<div class="span9" view-partial ng-include="route[active]"></div>
</div>
第一个指令应用于表中的delete按钮(即使视图发生更改,此指令也始终有效)。第二个指令应用于引导模式窗口上的按钮
第二个指令仅在页面刷新后才起作用。我认为这与范围有关,但我不明白为什么一个可行,另一个失败
任何帮助都将不胜感激。你能用你的代码创建一个Plunker吗?嗯,在这方面似乎还可以,也许问题出在其他地方,即使代码被简化了,也没有为该功能分配更多的资源,但它周围有更多的东西
angular.module("myModule")
.directive("deleteBtn", function(delConf) {
require: "?ngModel",
link: function(scope, elm, attr, ngModel) {
elm.bind("click", function(e) {
// here i open a modal window and pass some data to it
// just as a delete confirmation the logic for it is tucked
// away in delConf
}
}
})
.directive("deleteConfBtn", function(delConf) {
require: "?ngModel",
link: function(scope, elm, attr, ngModel) {
elm.bind("click", function(e) {
// here i make the api request to delete the item and remove it
// from the scope
}
}
});