Если вы посмотрите на эту скрипту http://jsfiddle.net/waylon999/peR9P/3/, вы увидите, что я пытаюсь сделать. Я пытаюсь использовать компиляцию $, чтобы заменить шаблон другим шаблоном.
Я бы ожидать:
scope.compiledVal = $compile(scope.value)(scope);
компилировать содержимое
"<div>{{ name }}</div>"
с связанным приложением именем, которое передается в с размахом, а затем заменить compiledVal в
<div>{{ compiledVal }}</div>
с скомпилированным шаблоном. Это не происходит, хотя, на выходе просто
{{ compiledVal }}
и если я открываю консоль JSFiddle, я вижу ошибку: TypeError: Преобразование круговой структуры JSON
Есть ли что-нибудь очевидно, что я делаю Неправильно здесь?
Спасибо!
Короткий ответ: это не «угловой» способ подойти к этому вопросу. Более длинный ответ: вы вызываете '$ compile' внутри цикла дайджеста, что вызывает цикл, это довольно сложно. Было бы неплохо прочесть в угловом цикле дайджест http://docs.angularjs.org/api/ng.$rootScope.Scope#$digest. Чтобы динамически переключать содержимое шаблона, вы должны использовать что-то вроде 'ng-switch' или даже' ng-include' –