[英]How to CONCATENATE js and angularjs expressions?
我正在使用onClick js函數重定向到另一個頁面。 但是我想將查詢字符串包括到給定的URL中。 查詢字符串包含一個我從angularjs表達式獲取的ID。 我在組合這兩個表達式時遇到了麻煩。
碼:
<div class="col-md-1 col-sm-1 padding10 left-border" onclick="window.location=RootURL+'pages/contest/contestdetail.ui.php?cID=83'">{{x.MemberPosition}}</div>
在上面的代碼中,我想將cID = 83替換為cID = x.ContestID。 我正確獲取了{{x.ContestID}}的值。
我建議這樣做
var app = angular.module('App', []);
app.constant('RootUrl', function() {
return '/';
});
app.controller('YourCtrl', ['$scope', '$location', 'RootUrl' function($scope, $location, RootUrl) {
$scope.gotoContest = function(id) {
var url = RootUrl + 'pages/contest/contestdetail.ui.php?cID=' + id;
$location.url(url);
};
}]);
<div class="col-md-1 col-sm-1 padding10 left-border" ng-click="gotoContest(x.ContestID)"></div>
在Angular中 ,您應該使用$window
而不是window
對瀏覽器窗口對象的引用。 雖然window在JavaScript中全局可用,但由於它是全局變量,因此會引起可測試性問題。 在角度上,我們總是通過$ window服務引用它,因此它可能會被覆蓋,刪除或模擬以進行測試
或$location
代替window.location
$ location服務解析瀏覽器地址欄中的URL(基於window.location),並使該URL可用於您的應用程序。 地址欄中URL的更改會反映到$ location服務中,而$ location所做的更改會反映到瀏覽器地址欄中。
順便說一句,如果您想直接在視圖中使用$location
,請記住將$location
綁定到控制器的作用域,例如
.controller('myController', function($scope, $location) {
$scope.$location= $location;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.