想知道是否有特定角度的'尝试实现这一目标的方法。
我有一个包含一些观点的页面。当用户单击锚点时,视图会发生变化,这很简单。我很好奇的是,如果用户点击,是否可以存储变量(比如跨度),然后将其传递给$routeProvider
以更加动态地加载内容?
因此对于锚标记#name1,当显示该视图时,我可以传递" name1"将nameHolder
作为变量来加载一些具有相同名称的文件。
HTML
<a href="#name1"><span>name1</span></a>
JS
var nameHolder = [];
var sampleApp = angular.module('sampleApp', ['ngRoute']);
sampleApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/' + nameHolder, {
templateUrl: 'templates/individkcd.html',
controller: 'individ',
nameofuser: nameHolder
}).
when('/', {
templateUrl: 'templates/home.html'
});
}]);
sampleApp.controller('individ', function($scope, $route) {
$scope.img = $route.current.nameHolder;
});
感谢您的任何信息。
更新: 新线程的解决方案。
答案 0 :(得分:2)
您需要将参数添加到$routeProvider模板中:
sampleApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/' + nameHolder, {
templateUrl: 'templates/individkcd/:nameHolder',
controller: 'individ'
}).
when('/', {
templateUrl: 'templates/home.html'
});
}]);
然后在目标控制器中使用$routeParams:
sampleApp.controller('individ', function($scope, $routeParams) {
$scope.img = $routeParams.nameHolder;
});
来自上面链接的$ routeProvider文档:
path
可以包含以冒号开头的命名组:例如:名称。所有 直到下一个斜杠的字符匹配并存储在$ routeParams中 路线匹配时在给定名称下