gpt4 book ai didi

javascript - 从 ngView 访问链接功能?

转载 作者:行者123 更新时间:2023-11-30 17:40:09 25 4
gpt4 key购买 nike

Angular 的初学者,我可能措辞不正确,但我不知道如何描述它。

当像这样发生路由变更时

.when('/manage/users', {
templateUrl: 'Angular/manage/users/overview.html',
controller: 'usersCtrl'
}
})

有没有办法访问加载模板的compilelink 函数,就好像它是指令一样?

我想在模板内加载的路径上包含一个加载动画,但我看不到一种访问模板的方法,就好像它是一个指令(我通常会使用 link)

编辑:我正在尝试做的事情的例子

当上述路由被调用时

overview.html

<div ng-controller="usersCtrl" class="listPane">
<div class="loader">Loading...</div> <!--Relevant Div I want to control-->
<div ng-repeat="group in listGroups">
<div class="tile-group max">
<div class="tile-group-title"><a>{{group.title}}</a></div>
<div listview items="group.items"></div>
</div>
</div>
</div>

我的 Controller 执行异步 GET 以获取用户列表

app.controller('usersCtrl', ['$scope','companyService', function($scope, companyService){

$scope.listGroups = {title:'All Users',
items:[]};

$scope.listAsyncAnimate = true; //variable I would like to use to control showing or hiding loading div

$scope.$watch('listGroups', function(newVal, oldVal) {
$scope.listGroups = newVal;

});
companyService.getUsers(1).then(function(data)
{
$scope.listAsyncAnimate = false; //turn off loading div after list has been returned
$scope.listGroups = [{
title: 'All Users',
items: Utility.userlistToMetroList(data)
}];
});
}]);

在其他指令中,我使用上面的控制功能以及观察变量来控制 link 的可见性,当我对模板进行路由更改时我无法访问它( overview.html):

link: function (scope, element, attr) {

var loader = $(element).find('.loader');

scope.$watch('listAsyncAnimate', function(newVal, oldVal){
if(newVal)
{
loader.spin('small');
loader.removeClass('ng-hide');
}
else
{
loader.addClass('ng-hide');
}
});
}

最佳答案

这是一个plunker :

只需创建一个指令:

app.directive('myDirective', function($route){
return {
link: function(){
var link = $route.current.link || angular.noop;
link.apply(null,arguments);
}
}
})

并将其添加到ngView

<div ng-view my-directive></div>

现在在你的路由定义中你有一个链接函数:

.when('/manage/users', {
templateUrl: 'Angular/manage/users/overview.html',
controller: 'usersCtrl',
link: function(scope,elm,attrs){
// do your magic
}
}
})

关于javascript - 从 ngView 访问链接功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com