使用指令范围中的参数从角度指令中的服务加载数据
Load Data from Service in Angular Directive using Parameter from Directive Scope
我有以下角度指令代码:
directive('searchTerms', ['$http', function ($http) {
return {
scope: { model: "=ngModel", metaDataUrl: "@metaData" },
templateUrl: 'infohelper/SearchTermsTemplate',
link: function ($scope) {...}
controller: function ($scope) {...}
}
}
对于指令的每次使用,都会向$scope
变量metaDataUrl
传递不同的URL。基于此,应该通过$http
服务加载不同的元数据。我的问题是:如何确保在link
函数之前加载元数据?$routeProvider
服务中是否有类似于resolve
选项的内容可以用于指令?
$http
返回一个promise,因此一旦响应在链接函数中准备好,就可以异步管理它。
如果没有,您可以在链接函数中声明一个观察程序。
看看这篇文章:Angular:当所有指令都加载时,在控制器中运行函数
这与你的情况有点不同,但应该会对你有所帮助。
您还应该阅读以下内容:https://github.com/angular/angular.js/issues/2095
相关文章:
- 如何根据服务更改更新指令
- AngularJs在调用服务方法后更新指令
- angular应用程序中的浏览器功能检测:使用服务、指令、控制器
- AngularJs 在指令中操作来自服务响应的数据
- 如何从指令的控制器调用依赖注入服务的嵌套方法
- Angularjs指令未从服务更新
- 若在同一文件中,则指令的Angularjs服务是未知的
- 如何将服务注入链接函数包含指令
- 在 angular2 指令中注入 angular1 服务
- 如何将指令模型绑定到异步服务数据
- 用于按键重定向的 AngularJS 代码应该是服务或指令
- 使用 Restangular 保持 CRUD 干燥:指令、继承控制器或包装服务
- 从服务 AngularJS + TypeScript 调用指令
- 将服务注入指令 AngularJS 和数据绑定
- 服务和指令之间的通信:依赖关系或或事件
- AngularJS:如何从服务向 dom 添加和编译指令
- 我们可以移除/删除控制器、服务、工厂、指令等吗?
- 从使用它的指令更新服务
- AngularJS-通过服务从指令更新控制器数据(this.model语法)
- Angular JS-需要与页面上的所有指令进行通信,这些指令来自只运行一次的服务中的代码