状況:
ng-include
ルーティングを必要とせずにパーシャルを含めようとしています。多くの特定の部分を動的に含めたいだけです。これは多かれ少なかれ次のようになります。
<div ng-controller="SomeController">
//This controller defines a $scope.getPartial(id)
<ng-include src="getPartial(something.id)"></ng-include>
</div>
それは動作し、パーシャルが含まれています。しかし、コンソールを見ると、コントローラーが数回呼び出され、最初に呼び出されたときに 404 が返されることがわかります
GET path/to/partials/undefined.html [HTTP/1.1 404 Not Found 162ms]
初めてインクルードしたとき、something.idが定義されていないようです。
質問:
- 新しいスコープを作成せずに、単にパーシャルを含めるにはどうすればよいですか?
- それが不可能な場合、コントローラーが一度だけ呼び出されるようにするにはどうすればよいですか?
- どうすれば404を回避できますか?
私はAngularJSにかなり慣れていないため、物事について間違った仮定をしたり、明らかなことを見落としたりする可能性があります。教えてください。