Angularjs 自定义指令/相邻指令之间的通信

Angularjs 自定义指令/相邻指令之间的通信,angularjs,Angularjs,我已经两周了。我看了几段Pluralsite视频,读了几篇文章,这带来了巨大的进步,但也带来了一些困惑。我想通知一个指令另一个指令的某些更改。然后刷新指令。换句话说,它需要返回到服务器,并从第一个选择中提取适当的数据 我读过关于事件和$watch()之类的东西,但后来我看到其他人说要避免观看并使用$emit和$on。我甚至看过一篇文章说要使用转义 我可以使用Pluralsight和其他资源。如果有人能把我的鼻子指向正确的方向,我会自学 我的指令标记html: <div class="col

我已经两周了。我看了几段Pluralsite视频,读了几篇文章,这带来了巨大的进步,但也带来了一些困惑。我想通知一个指令另一个指令的某些更改。然后刷新指令。换句话说,它需要返回到服务器,并从第一个选择中提取适当的数据

我读过关于事件和$watch()之类的东西,但后来我看到其他人说要避免观看并使用$emit和$on。我甚至看过一篇文章说要使用转义

我可以使用Pluralsight和其他资源。如果有人能把我的鼻子指向正确的方向,我会自学

我的指令标记html:

<div class="col-md-3">
    <dashboard-main-nav></dashboard-main-nav>
</div>

<div class="col-md-3">
  <dash-select ng-show="vm.isDashSelectionVisible">Selections</dash-select>
</div>
路由控制器:

(function () {
    ...snip...
    function routingController($http, $scope) {
        var vm = this;
        var isDashSelectionVisible = false;
        var dashSelectionId = 0;

        $scope.LetterSearch= function (dashSelId) {
            vm.isDashSelectionVisible = true;
            vm.dashSelectionId = dashSelId;
            alert("Letters Clicked: " + dashSelId);
        }
    }
})();
呈现的HTML:

<dashboard-main-nav>
    ....snip....
   <a href="#/ABCSearch" ng-click="LetterSearch(1)">Letters</a>
</dashboard-main-nav>

..... snip.....


<dash-select>
   <a href="#/NumSearch" ng-click="NumericSearch(2)">Numbers</a>
</dash-select>

剪
..... 剪
我没有显示连接routingController的$routeProvider配置,因为它工作正常。我只需要得到那个定制指令就可以从scope获取parm..刷新然后更新dom


感谢您的耐心和知识共享。

很难让
模板URL
依赖于范围。它可以是一个返回url的函数,但此时尚未创建作用域,因此不可用。你到底需要从作用域中得到什么?为什么templateUrl依赖于它?我就是这样了解的。可能是错误地点击MVC操作将内容加载到自定义指令中。也许我需要的是我的单击操作调用辅助mvc端点…在成功时获取数据,然后将该数据对象推送到指令中。我将用我认为是你的问题来更新这个问题。在过去的日子里,是的,你可能会加载服务器呈现的html。开始将后端看作一个数据API,然后按照您的想法去做……点击一个端点获取数据并加载一个静态html模板。在某些情况下,加载不同的模板是可行的,但它们通常也是由角度渲染的
<dashboard-main-nav>
    ....snip....
   <a href="#/ABCSearch" ng-click="LetterSearch(1)">Letters</a>
</dashboard-main-nav>

..... snip.....


<dash-select>
   <a href="#/NumSearch" ng-click="NumericSearch(2)">Numbers</a>
</dash-select>