我将用户输入传递给控制器函数,但空字符串不声明对象属性。
<form>
<input type="text" ng-model="data.location" />
<input type="text" ng-model="data.radius" />
<button type="button" ng-click="getSearch(data)">Search</button>
</form>
$scope.getSearch = function(data) {
console.log(data);
//undefined
//...but what if I want {location:'', radius:''}
};
有没有办法在动态传递空字符串时强制创建对象属性?
答案 0 :(得分:4)
您应该能够将控制器中的data.location和data.radius初始化为'',至少这种方式不是未定义的。
答案 1 :(得分:3)
您应该以{{1}}而非$scope.data
访问它。
此外,您无需将其作为参数传递给data
。 getSearch()
绑定models
,应通过$scope