Как получить входное значение в контроллер без использования угловых?

1

это угловой проект, но у меня есть ситуация, в которой мне нужно получить значение поля ввода в мой контроллер без использования угловой двухсторонней привязки.

проблема в том, что мое поле ввода динамически добавляется в HTML с помощью следующего кода:

       $( "#my-input-fields")
          .append( "<li style='height:15px;' >" + " Type the id. code here:" + 
                  "<input type='text' ng-model='c1.myVar' />" +   
                  "</li>" )
                  .css( "list-style-type", "none");

несмотря на то, что c1.myvar правильно добавляется в html, он никогда не заполняется на контроллере, независимо от того, что я печатаю внутри поля ввода. другими словами, двустороннее связывание не работает.

Есть ли способ активировать двустороннее связывание html-переменной после того, как я добавлю ее динамически с помощью jquery? Кроме того, мне интересно, есть ли альтернативный способ получения значения c1.myVar, когда пользователь вводит его внутри.

Благодарю.

Теги:

1 ответ

0
Лучший ответ

Перед добавлением его в DOM вам нужно будет выполнить динамическую компиляцию, чтобы иметь возможность получать привязки с помощью $compile. Вот как ты это делаешь.

var element = "<li style='height:15px;' >" + " Type the id. code here:" + "<input type='text' ng-model='c1.myVar' />" + "</li>"

var compile = $compile(element)($scope);

И теперь вы можете добавить его к элементу или где угодно

$( "#my-input-fields").append(compile )

Не забудьте ввести $compile в ваш контроллер

  • 0
    большое спасибо. это сработало чудесно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню