Установка data-ng-модели в JavaScript

0

Мне нужно установить атрибут data-ng-model в поле ввода html через javascript. Я знаю, что не могу

element.data-ng-model = "...";

из-за тире. Поэтому я попробовал

element.["data-ng-model"] = "...";

а также

element.dataNgModel = "...";

а также

element.datangmodel = "...";

Ничто из этого не работает должным образом. Какие-либо предложения?

2 ответа

1

Пытаться:

element.setAttribute("ng-model", "...");

или если у вас есть JQuery:

$(element).attr("ng-model", "...");
0

Если вам нужно установить модель с помощью javascript, вы можете установить ее в контроллере, см. Ниже. Из угловых документов https://docs.angularjs.org/api/ng/directive/ngModel

(function(angular) {
  'use strict';
  angular.module('getterSetterExample', [])
    .controller('ExampleController', ['$scope',
      function($scope) {
        var _name = 'Brian';
        $scope.user = {
          name: function(newName) {
            // Note that newName can be undefined for two reasons:
            // 1. Because it is called as a getter and thus called with no arguments
            // 2. Because the property should actually be set to undefined. This happens e.g. if the
            //    input is invalid
            return arguments.length ? (_name = newName) : _name;
          }
        };
      }
    ]);
})(window.angular);
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>

<div ng-app="getterSetterExample">
  <div ng-controller="ExampleController">
    <form name="userForm">
      <label>Name:
        <input type="text" name="userName" ng-model="user.name" ng-model-options="{ getterSetter: true }" />
      </label>
    </form>
    <pre>user.name = <span ng-bind="user.name()"></span></pre>
  </div>
</div>

Ещё вопросы

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