我有一个文本框,可以将用户输入传递到$ scope。我需要将其进一步传递到firebase查询中,但是我无法获取变量来注册存储在$ scope中的输入。代码:
$scope.array = [];
$scope.addListItem = function(quote){
$scope.array.unshift(quote);
console.log(quote)
this.customQuote = null;
};
var prefix = 'tags/'
var userInput = console.log($scope.array)
var search = prefix + userInput
firebase.database().ref('products').orderByChild(search).equalTo(true).once('value', function(products)
和html:
<form ng-submit="addListItem(customQuote)" name="customQuoteForm">
<div class="item item-input-inset">
<label class="item-input-wrapper">
<input type="text" placeholder="placeholder content" ng-model="customQuote" required>
</label>
<button class="button button-small" ng-disabled="customQuoteForm.$invalid">
Submit
</button>
</div>
</form>
提前致谢!
答案 0 :(得分:0)
无论您在html中命名模型,都需要在javascript中命名。
我看到你将它命名为ng-model="customQuote"
。因此,您应该在javascript中以$scope.customQuote
的形式访问它。
此外,您正在将模型初始化为null
。不要那样做,而是这样声明:
$scope.customQuote = "";
答案 1 :(得分:0)
只需在函数内移动变量和firebase查询即可解决它。
$scope.addListItem = function(quote){
$scope.array.unshift(quote);
console.log(quote)
var tag = quote
var text = 'tags/'
var search = text + tag
console.log(search)
firebase.database().ref('products').orderByChild(search).equalTo(true).once('value', function(products) {};