Функция AngularJS в html, сгенерированном JavaScript - PullRequest
0 голосов
/ 23 января 2019

Я новичок в AngularJS. Я пытаюсь правильно установить атрибуты для HTML-кода, сгенерированного JavaScript, но каждая попытка до сих пор не удалась.

Мой код (исключая мои неудачные попытки): https://codepen.io/walkerdude5/pen/JxjgqP?editors=1010

angular
  .module("MyApp", ["ngMaterial", "ngMessages", "material.svgAssetsCache"])
  .controller("AppCtrl", function($compile, $scope, $mdDialog) {
    $scope.showPrompt = function(ev) {
      var confirm = $mdDialog
        .prompt()
        .title("Note Editor")
        .placeholder("New Note")
        .targetEvent(ev)
        .ok("Save")
        .cancel("Discard");
      $mdDialog.show(confirm).then(function(result) {
        $scope.variable = "update note function";
      });
    };
  });

table = document.getElementById("example2");
tr = table.insertRow(0);
tr.insertCell(0);
tr.insertCell(1);
tr = table.insertRow(0);
tr.insertCell(0);
tr.insertCell(1);
table.rows[0].cells[0].innerHTML = "dummyContent1";
table.rows[1].cells[0].innerHTML = "dummyContent2";
table.rows[0].cells[1].innerHTML = "dummyContent3";

var angularTD = table.rows[1].cells[1];
//prompt dialog functionality in this cell

HTML

<table>
  <tbody id="example2">
  </tbody>
</table>

<!-- what I want to be able to do -->
<div ng-controller="AppCtrl" ng-app="MyApp">
  <button ng-click="showPrompt($event)">
      Prompt Dialog
    </button>
</div>

Edit: я вставил одну из моих попыток, в основном я пытаюсь создать кнопку с атрибутом ng-click, добавить butotn к div с атрибутами ng-controller и app и добавить div к созданному TD и доступны через JavaScript. TD должен быть создан с помощью javascript, поскольку количество созданных TD зависит от данных веб-сокета.

var angdiv= document.createElement("DIV"); angdiv.setAttribute("ng-controller","AppCtrl"); angdiv.setAttribute("app","MyApp"); var btn = document.createElement("BUTTON"); btn.setAttribute("ng-click","showPrompt($event)"); btn.innerHTML='View'; angdiv.appendChild(btn); td.appendChild(angdiv);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...