从元素指令中的路由提供程序获取参数
Get parameters from routeProvider in element directive
我有一个元素指令,我想知道我是否可以从routeProvider获取参数来呈现我的模板并在我的控制器中设置它。
adminDash.directive('hospitals', function() {
return {
restrict: 'E',
templateUrl: 'www/partials/admin/hospitals.html',
controller: 'AdminHospitalsController',
controllerAs: 'hospitalsCtrl',
};
});
如何在元素指令中获取任何参数?
您可以隔离指令的作用域,如下所示:
adminDash.directive('hospitals', function() {
return {
restrict: 'E',
templateUrl: 'www/partials/admin/hospitals.html',
controller: 'AdminHospitalsController',
controllerAs: 'hospitalsCtrl',
scope: {
paramValue: '&',
paramVariable: '=',
},
};
});
检查此内容以更好地了解 https://thinkster.io/egghead/isolate-scope-am/
有两种
方法可以做到这一点:两者都涉及使用允许您检索当前路由参数集$routeParams服务。
假设您在$routeProvider
中配置了 url: http://example.com/#/hospitals/foobar
和路由/hospitals/:hospital/
,您可以:
1.将$routeParams注入指令:
adminDash.directive('hospitals', function($routeParams) {
return {
restrict: 'E',
templateUrl: 'www/partials/admin/hospitals.html',
controller: 'AdminHospitalsController',
controllerAs: 'hospitalsCtrl',
link: function(scope, element){
scope.hospital = $routeParams.hospital;
}
};
});
2.将$routeParams注入AdminHospitalsController
adminDash.controller('AdminHospitalsController', function($scope, $routeParams) {
$scope.hospital = $routeParams.hospital;
}
这两种方法都会导致指令范围内的hospital=foobar
;
相关文章:
- 从新的WordPress媒体上传程序获取JS回调
- PHP文件没有't从Javascript应用程序获取$_POST
- 通过web应用程序获取客户端监视器的分辨率
- 使用xPath从Jquery数据验证程序获取输入
- 引导程序获取字形代码
- JavaScript从应用程序获取SharePoint联机列表
- 从Windows8JS应用程序获取仅HTTP cookie
- 从onclick处理程序获取URL
- 谷歌浏览器扩展程序 - 获取字符串中的选项卡内容
- Chrome扩展程序获取DOM文本并在弹出窗口中显示.html然后单击按钮
- Chrome 扩展程序:获取当前网站名称
- 从我的 MVC 应用程序获取会话值到我的 Javascript 中
- 硒网络驱动程序获取表中可见的行号
- 如何从Web JavaScript应用程序获取桌面C#程序中的变量
- 如何通过扩展程序获取(未设置)Chrome中所选文本的背景颜色
- Chrome 扩展程序获取所选文本
- 如何使用 NPM 为您的 Angular 应用程序获取所有依赖项
- 日期时间选择器引导程序获取值并将其用作输入未定义的错误
- Chrome 扩展程序获取元关键字
- 使用 jinja2 和 google app engine 将数据从 python 处理程序获取到 javascript