Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2017, 17:53
Аспирант
Отправить личное сообщение для Risa Посмотреть профиль Найти все сообщения от Risa
 
Регистрация: 21.10.2014
Сообщений: 42

Как вставить в AngulagJS html-переменную? 
Как вставить в html в AngulagJS html-переменную?
Вот так вставляет просто текст
{{varName}}
, не преобразовывая в html. А так
<span ng-bind-html="varName"></span>
вообще ничего не вставляет.
Помогите, пожалуйста!
$scope.varName = ' > <span class = "btnLink" ng-click = "infoSomeProc()">Информация</span>';

Может, с помощью jQuery как-то можно это сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2017, 09:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 11,239

Сообщение от Risa
Может, с помощью jQuery как-то можно это сделать?
В некий хтмл вставить другой, используя JS, не проблема...

Проблема в том, что ты не понимаешь принципы работы Ангулара.
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2017, 14:50
Аспирант
Отправить личное сообщение для Risa Посмотреть профиль Найти все сообщения от Risa
 
Регистрация: 21.10.2014
Сообщений: 42

Сообщение от ksa
Проблема в том, что ты не понимаешь принципы работы Ангулара
Какие именно? Ссыль на документацию, плз, что конкретно я не понимаю.
Сообщение от ksa
В некий хтмл вставить другой, используя JS, не проблема...
Пример в студию.
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2017, 15:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 11,239

Сообщение от Risa
Пример в студию.
Так ты и про это не знаешь?

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
span {
	color: red;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<p>Test</p>
<script type='text/javascript'>
var o=document.getElementsByTagName('p')[0];
o.innerHTML+='<span>Text</span>';
</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2017, 15:41
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 11,239

При использовании Ангулар, вставить какой-то произвольный динамический кусок, да еще не нарушив "ангуларности" всей страницы не так-то просто...

Это можно сделать используя сервис $compile

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
<style type='text/css'>
.btnLink {
	color: red;
	cursor: pointer;
}
</style>
<script type='text/javascript'>
angular.module('MyMod', [])
  .directive('myBuildElements', ['$compile',
    function($compile) {
      return {
        restrict: 'E',
        link: function(scope, element) {
          element.append('<span class="btnLink" ng-click="infoSomeProc()">Информация</span>');
          $compile(element.contents())(scope);
        }
      };
    }
  ])
  .controller('MyCtrl', function($scope) {
	  $scope.infoSomeProc=function(){
		  alert('Ok');
	  };
  })
</script>
</head>
<body ng-app="MyMod" ng-controller="MyCtrl">
    <my-build-elements></my-build-elements>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 10.07.2017, 15:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 11,239

Сообщение от Risa
Помогите, пожалуйста!
$scope.varName = ' > <span class = "btnLink" ng-click = "infoSomeProc()">Информация</span>';
Вот вариант собственно с переменной...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
<style type='text/css'>
.btnLink {
	color: red;
	cursor: pointer;
}
</style>
<script type='text/javascript'>
angular.module('MyMod', [])
  .directive('myBuildElements', ['$compile',
    function($compile) {
      return {
        restrict: 'E',
        link: function(scope, element) {
          element.append(scope.varName);
          $compile(element.contents())(scope);
        }
      };
    }
  ])
  .controller('MyCtrl', function($scope) {
	  $scope.varName='<span class="btnLink" ng-click="infoSomeProc()">Информация</span>';
	  $scope.infoSomeProc=function(){
		  alert('Ok');
	  };
  })
</script>
</head>
<body ng-app="MyMod" ng-controller="MyCtrl">
    <my-build-elements></my-build-elements>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вставить сериализованную строку в SVG ? ravend Общие вопросы Javascript 2 06.07.2015 12:48
Как сделать HTML фичи? 2chan Events/DOM/Window 6 26.09.2014 17:50
Bootstrap Информеры с html наполнением. Как? wmag jQuery 1 09.07.2014 21:17
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 04:56
вставить строку со скриптами как кусок html shelest jQuery 3 01.03.2012 16:10