我有一個問題,templateUrl:
部分的角度指令。 我想設置一個動態路徑,但它似乎不工作,我無法弄清楚。我檢查了語法,並且所有內容似乎都是結帳的,它只是不會從該URL拉取模板。AngularJS V1.4.7指令templateUrl動態路徑
這裏是我的指令代碼:
var app = angular.module('docMan', ['ui.sortable']);
//global variable
app.run(['$rootScope','getResourceURL', function($rootScope, getResourceURL){
\t getResourceURL('FOPS_Resource').then(function(result){$rootScope.FOPSbaseURL = result;
\t },
\t \t \t \t \t \t function(error){$scope.error = result;})
\t
}]);
//Handle to grab SF info about the Static Resource base URL
app.factory('getResourceURL', ['$q','$rootScope', function($q, $rootScope){
\t \t return function (inputString) {
\t \t \t var deferred = $q.defer();
\t \t \t Visualforce.remoting.Manager.invokeAction(
\t \t \t \t 'FO_Manager.GetResourceURL',
\t \t \t \t inputString,
\t \t \t \t function(result, event){
\t \t \t \t \t $rootScope.$apply(function(){
\t \t \t \t \t if(event.status) {
\t \t \t \t \t \t deferred.resolve(result);
\t \t \t \t \t } else {
\t \t \t \t \t \t deferred.reject(event);
\t \t \t \t \t }
\t \t \t \t })
\t \t \t },
\t \t \t {buffer: true, escape: true, timeout: 30000}
\t \t);
\t \t return deferred.promise;
\t }
}]);
app.directive('sideNav', function($rootScope){
\t return{
\t \t restrict: 'E',
\t scope: {
\t \t info: '='
\t },
\t templateUrl: function($rootScope){ return $rootScope.FOPSbaseURL + '/js/custom/directives/sideNav.html';}
\t };
});
然後當我把標籤<sideNav info="SideNav"></sideNav>
其中SideNav是周圍沒有什麼控制的範圍內發生的模板不被拉出。
這裏是模板:`
<li class="mainCat">
<a href="#" id="CatHeader">
<i class="{{item.displayIcon}} left-bar"></i>
<span ng-bind-html="item.label | html"></span>
</a>
<ul class="subCat">
<li ng-repeat="subItem in item.docTypes">
<a href="#" >
<i class="fi-folder"></i>
<span ng-bind-html="subItem.Name | html"></span>
</a>
</li>
</ul>
</li>
`
對此事的任何幫助將不勝感激。
更新:
所以現在幸虧下面的東西幫助做顯示器,但現在問題是,$rootScope.FopSbaseURL
不在這個'app.directive(「foSidenav」正確填寫,函數($ rootScope ){
return{
restrict: 'E',
scope: false,
templateUrl: function(){
$rootScope.snipSideNav = $rootScope.FOPSbaseURL + '/js/custom/directives/sidenav.html';
return $rootScope.snipSideNav;
}
};
}); ` 這就是我想要的rootScope但它不會在templateURL拉
<side-nav info="SideNav"></side-nav>
更多信息你看,至少應用程序試圖與HTTP請求或您的問題只缺$ rootScope勾你的模板? – Appeiron