2017-10-19 4 views
0

私はAngularJS v1.3.1をプロジェクトに持っています。 は、私は私のテンプレートでアンカータグを持っている:ng-hrefが期待どおりに動作しない

<a class="btn btn-primary" 
    ng-href="#!/database/{{home.uuidSelectedDatabase}}/segments?{{goToSegmentsUrlQuery}}"> 
    <i ng-if="!goToSegmentsUrlQuery" 
     class="icon-refresh icon-white pm-icon-spin pm-button-icon"></i> 
    <span ng-i18next="segments:set-operations.form.button.go-to-segments"></span> 
</a> 

私はhome.uuidSelectedDatabasegoToSegmentsUrlQueryの両方が$スコープで定義されるまで、このアンカーは空hrefを持っていることを期待しています。

しかし、AngularはgoToSegmentsUrlQueryが定義され、しばらくの間、私が必要としているのではない/segments?で終わるリンクを持っています。

+1

少なくともスコープ内で定義する必要があります。 '$ scope.goToSegmentsUrlQuery =" "'それ以外の場合、オブジェクトプロパティは 'undefined'になり、Angularは変更を監視できません。これは、あとで定義したときにAngularが最初に定義されていないため、プロパティを見ていないことを意味します。 – Svenskunganka

+1

'controller'のコードを投稿してください。 –

+0

@Svenskungankaそれは役に立たない。しかし、私は問題を解決しました、私の答えを参照してください。 –

答えて

0

私は1つカーリー・ブレース値以外ng-href値のうちのすべてを投げることによって、問題を解決:

<a class="btn btn-primary" ng-href="{{goToSegmentsUrl}}"> 
... 

そしてそれは、コントローラで$scope.goToSegmentsUrl = ''を事前に定義することなく働きました。

関連する問題