我进入Angular已经两周了。我观看了几个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>
我的应用声明:注意我知道我需要从范围中获取parm但不确定如何...
(function ()
{
"use-strict";
...snip controller setup etc..
.directive("dashboardMainNav", function () {
return {
restrict: "E",
templateUrl: "/Navigation/GetDashItems",
scope: true
}
})
.directive("dashSelect", function () {
return {
restrict: "E",
templateUrl: "/Navigation/GetDashSelections/:" + $scope.??,
scope: true
}
});
})();
routingController:
(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..refresh中获取parm然后更新dom。
感谢您的耐心和知识分享。