如何使用参数在HTML中调用AngularJS中的$location
我有一个选择列表:如何使用参数在HTML中调用AngularJS中的$location,angularjs,Angularjs,我有一个选择列表: <select name="forma" onchange="location = Category(SCID: this.value)"> <option value="38">Home</option> <option value="39">Contact</option> <option value="40">Sitemap</option> </se
<select name="forma" onchange="location = Category(SCID: this.value)">
<option value="38">Home</option>
<option value="39">Contact</option>
<option value="40">Sitemap</option>
</select>
我知道您希望内联编写代码并更改位置。我给你的建议是不要 当可以选择调用函数并内联编写javascript代码时,可以选择调用函数。它使您的代码保持干净、易于理解和维护 因此,在这种情况下,请将模型附加到您选择的对象,以便当用户选择值时,您知道用户选择的值:
<select name="forma" data-ng-model="selectedFormaValue"
data-ng-change="updateLocation()">
<option value="38">Home</option>
<option value="39">Contact</option>
<option value="40">Sitemap</option>
</select>
这将导致页面转到位置
http://locahost/#!/Category/
我认为angularjs中没有任何onchange属性来选择指令。您可以使用callmekatootie所述的ngChange。您可以尝试像现在这样进行内联操作,也可以将其绑定到控制器中的作用域函数。您应该始终将dom操作代入更改模型的控制器。希望这能有所帮助。感谢您的快速回复。还有一件事要告诉你如何前往该地点:而不是locahost/#/类别/代码代码>取决于您的路线配置。您可以将html5mode
设置为true或指定自己的hashbang等效项。谷歌“AngularJSHTML5Mode”获取更多信息。
<select name="forma" data-ng-model="selectedFormaValue"
data-ng-change="updateLocation()">
<option value="38">Home</option>
<option value="39">Contact</option>
<option value="40">Sitemap</option>
</select>
$scope.updateLocation = function () {
//Make sure that a value is selected
if ($scope.selectedFormaValue) {
$location.path('/Category/' + $scope.selectedFormaValue);
}
};