Javascript AngularJS指令仅在ng包含更改之前有效

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

我有一些AngularJS指令,只能工作一次。当视图更改并且您返回它们不再工作时,不涉及页面刷新,但是我们使用一个简单的视图加载系统,使用ng include进行页面更改(子页面不是主路由)

我有一些类似这样的标记

<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
            }
        }            
    });