MEANJSアプリケーションでクエリ文字列を生成しようとしています。クエリー・ストリングには、ng-clickで変更できる複数のパラメーターを保持する必要があります。私はいくつかの問題に遭遇します。私はクエリのさまざまなパラメータをconcatinateしようとしています、ここまで私が行ってきたことです。angularjsに複数のパラメータを持つ文字列
<md-list layout="column" layout-align="center" flex="100" ng-cloak>
<!-- syllableCount -->
<md-list-item>
<label flex="20">Silbenanzahl</label>
<md-button type="button" class="btn btn-sm min-width-45"
ng-click="searchSpec('syllableCount=1')">1
</md-button>
<md-button type="button" class="btn btn-sm min-width-45"
ng-click="searchSpec('syllableCount=2')">2
</md-button>
<md-button type="button" class="btn btn-sm min-width-45"
ng-click="searchSpec('syllableCount=3')">3
</md-button>
<md-button type="button" class="btn btn-sm min-width-45"
ng-click="searchSpec('syllableCount=4')">4
</md-button>
<md-divider ng-if="!$last"></md-divider>
</md-list-item>
<!-- end -->
<!-- syllableStructur -->
<md-list-item>
<label flex="20">Silbenstruktur</label>
<md-button type="button" class="btn btn-sm min-width-45"
ng-click="searchSpec('syllableStructur=einfach')">einfach
</md-button>
<md-button type="button" class="btn btn-sm min-width-45"
ng-click="searchSpec('syllableStructur=komplex')">komplex
</md-button>
<md-divider ng-if="!$last"></md-divider>
</md-list-item>
<!-- end -->
私は、searchSpec関数の2つのリスト項目に対してng-clickを実装しました。今私は、右のクエリが構築取得ボタンのいくつかのいずれかをクリックした場合、それは、正常に動作するために
$scope.searchSpec = function(attr) {
var result = $http.get('/api/words/?' + attr)
.success(function(result) {
$scope.searchWords = result; // will be used for ng-repeat
console.log($scope.searchWords);
console.log(attr);
});
};
:(たとえば「syllableCount = 2」)のパラメータは、コントローラファイルにクエリ文字列に入る必要がありますoutputは(この場合)einfach(簡単)OR komplex(複雑)の音節構造を持つ1,2,3または4の音節数を持つ単語のリストです。
私の目標は、私は単語のリストを持つことができます、と言うことができますsyllableCount 2とeinfachの音節構造(簡単)。私はこのためにしようとしたものを
はこのでした:
$scope.searchCount = function(attr) {
$scope.count = attr;
};
$scope.searchStruct = function(attr) {
$scope.struct = attr;
};
$scope.searchSpec = function(attr) {
var result = $http.get('/api/words/?syllableCount=' + $scope.count + '&' + 'syllableStructur=' + $scope.struct)
.success(function(result) {
$scope.searchWords = result;
console.log($scope.searchWords);
console.log(attr);
});
};
2つの新しい関数がボタンからHTMLで呼び出されますが、私は、文字列に結果をconcatinateしてみてください。しかし、それは動作しませんでした。結果が表示されませんでした。(count = 2 AND struct = einfach)このようにハードコードされた場合:var result = $http.get('/api/words/?syllableCount=' + 2 + '&' + 'syllableStructur=' + einfach)
うまく動作します。
これは正しい方法ですか、私は間違っていますか?
ここに間違いがあります。検索結果をsearchWordに保存してng-repeatを使用するだけですが、ここでは配列を使用していないため動作しませんでした。ありがとう、私は配列で試してみます。 – d8ta
これで配列とデータが追加されましたが、これまでは配列全体をsearchWord []にプッシュしています。どのようにして正しいデータを入手できますか? '$ scope.searchWords.push({ grapheme:result.grapheme });' – d8ta
ここは私のng-repeat: 'data-ng-repeat =" searchWordsの単語です。私はそれを使っています"
– d8ta