Javascript ng模型未定义为空字符串?
我正在将用户输入传递给控制器函数,但空字符串不声明对象属性Javascript ng模型未定义为空字符串?,javascript,angularjs,Javascript,Angularjs,我正在将用户输入传递给控制器函数,但空字符串不声明对象属性 <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> $sco
<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:''}
};
搜寻
$scope.getSearch=函数(数据){
控制台日志(数据);
//未定义
//…但是如果我想要{位置:'',半径:'}
};
在动态传递空字符串时,是否有方法强制创建对象属性?您应该能够将控制器中的data.location和data.radius初始化为“”,至少这样它们就不会未定义。您应该以
$scope.data
的身份访问它,而不仅仅是数据
另外,您不需要将其作为参数传递给getSearch()
模型
绑定到$scope
,应该通过$scope
访问,当然可以,但这是唯一的方法吗?没有办法强制它运行?@DanKanze否则只有在编辑文本框Ng init={data:{location:'',radius:''}时才会初始化对象。这会起作用,但与控制器中的情况相同,这比我所做的更有意义。