2
試圖找出一種'角度特定'的方式來嘗試和實現這一點。 我有一個頁面有一些意見。當用戶點擊一個錨點時,視圖會改變,我已經工作得很好。
我很好奇的是,如果當用戶點擊時,是否可以存儲一個變量(比如內部html),然後將它傳遞給$routeProvider
以更加動態地加載視圖?因此,對於定位標記#name1
,
顯示該視圖時,我可以通過name1
成nameHolder
作爲變量加載具有相同名稱的一些文件。
HTML
<script type="text/ng-template" id="this.html">
This Page.
</script>
<script type="text/ng-template" id="that.html">
That Page.
</script>
<div>
<ul>
<li><a href="#/this">this</a></li>
<li><a href="#/that">that</a></li>
</ul>
<ng-view></ng-view>
</div>
JS
var nameHolder= [];
var app = angular.module("myApp", ['ngRoute']);
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/' + nameHolder, {
templateUrl: nameHolder + ".html",
controller: 'individ',
nameofuser: nameHolder
}).
when('/', {
templateUrl: 'this.html'
});
}]);
app.controller('individ', function($scope, $route) {
$scope.img = $route.current.nameofuser;
});
$(document).ready(function(){
$('a').click(function(){
nameHolder.length = 0;
var pushThis = $(this).text();
nameHolder.push(pushThis);
console.log(nameHolder)
});
});
感謝任何信息。
這裏有一個JSFiddle
真棒解決方案,謝謝。用你的代碼更新工作小提琴。我沒有意識到我可以通過'templateUrl'傳遞一個函數。 http://jsfiddle.net/GregWebBandit/rdko8qqs/9/ – gregdevs 2015-02-09 18:43:47
重新使用「this.html」tpl。 http://jsfiddle.net/GregWebBandit/rdko8qqs/11/ – gregdevs 2015-02-09 19:49:07