![](/img/trans.png)
[英]ng-click gives “href undefined ” error on a function call with a parameter
[英]Function parameter undefined inside ng-click
我已經檢查了其他問題,但沒有解決此問題。
這是我的完整代碼: http : //codepen.io/tiuscia/pen/qqLQNd
我在控制器內部有一個函數,該函數在輸入文本時不帶參數,而對最近的鏈接不帶參數。
這些鏈接位於ng-repeat內部,它們使用ng-click調用函數:
的HTML
<h3>Search History:</h3>
<div ng-repeat="city in meteo.cityList" >
<a ng-click="meteo.search(city)" href="#">{{city}}</a>
</div>
當我單擊鏈接時,將調用該函數,但不會傳遞任何參數。 我沒有使用$ scope。
您能告訴我我做錯了嗎?
首先,它對我有用(Chrome 55)...我在您的搜索功能中執行了console.log(input)
,當我單擊搜索歷史記錄項時,我看到它已返回。
其次,用於設置默認搜索參數的語法為ES6,並且在瀏覽器中可能不受支持(也就是說,如果您不進行某種向下轉換,我認為您不會這樣做)。
相反,我將像這樣分配默認函數參數:
$scope.search = function(input) {
input = (typeof input !== 'undefined') ? input : self.city;
// ...
}
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Default_parameters
或者,如果您想查看帶有參數的ng-click,請查看此演示: https : //plnkr.co/edit/BzazAa?p=preview
如果可以,請使用$ scope定義函數:
然后定義這樣的功能
$ scope.search =函數(城市){
};
請注意,我只是在()內給了一個名字,沒有別的,這應該起作用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.