Я использую директиву ngInclude
для загрузки фрагментов HTML. Теперь я ищу лучший способ передать динамический URL. Я знаю, что могу создать URL-адрес с конкатенацией строк:AngularJS: ngInclude и динамические URL-адреса
<ng-include src="'/foo/' + fooId + '/bar/' + barId + '/baz/' + bazId"></ng-include>
В моих глазах это немного уродливо.
ngHref
и ngSrc
например, принимать URL-адреса, содержащие {{}}
разметку. ИМХО этот синтаксис намного чище:
<img ng-src="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
<a ng-href="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
Есть ли лучший способ передать динамические URL-адреса для ngInclude?
Требуется ли функция обратного вызова? Почему не влияет непосредственно $ scope.templateUrl = "/ foo /" ...? – MaximeBernard
Обратный вызов - это не единственный способ. Вы могли бы создать свойство 'templateUrl' в области видимости. Вам просто нужен последовательный способ обновления значения 'templateUrl' в любое время' fooId', 'barId',' bazId' будут изменены. – jessegavin
Итак, используя обратный вызов будет обновлять «автоматически» значение templateUrl, тогда как влияние непосредственно на templateUrl не будет? – MaximeBernard