7

状況:

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にかなり慣れていないため、物事について間違った仮定をしたり、明らかなことを見落としたりする可能性があります。教えてください。

4

1 に答える 1