Задать вопрос
@GodOfTheMetal

Почему ng-checked не работает с добавленным (append) HTML кодом?

Есть код:
<body ng-app="App" ng-controller="AppCtrl">
<div class="container">
    <form ng-submit="newTask()">
        <input type="checkbox" ng-model="checkAll">
        <input id="one" type="text" ng-model="text" name="text" placeholder="What tododo?">
    </form>
    <input id="two" type="checkbox" ng-checked="checkAll">
</div>
</body>


var App = angular.module("App", []);

App.controller('AppCtrl', function ($scope) {
    $scope.list = [];
    $scope.newTask = function () {
        if ($scope.text) {
            $('.container').append("<div class='task'><input id="appended" type='checkbox' ng-checked='checkAll'/>" + this.text + "</div>");
            $scope.list.push(this.text);
            $scope.text = '';
        }
    };

});


Проблема: чекбокс с id="two" реагирует на изменения в чекбоксе с id="one", в то время как добавленные скриптом боксы с id="appended" — нет. В чём проблема?
  • Вопрос задан
  • 276 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
gelevanog
@gelevanog
javascript developer
Изпользуйте в HTML ng-if="text" , не идите по jquery пути
Ответ написан
Комментировать
@lega
Их нужно откомпиллировать (прибиндить), https://docs.angularjs.org/guide/compiler
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы