Как получить доступ к переменным, обработанным angularjs, используя vuejs? - PullRequest
0 голосов
/ 21 мая 2018

У меня есть проект angularjs, и я пытаюсь создать страницу, выполненную в угловом формате, используя Vuejs.

Я читаю документацию vuejs, но не могудостаточно понять, как обрабатывать переменные, используемые с angular внутри моего .twig файла.

Например, если у меня есть что-то вроде этого:

<section id="ProjectController">
    <div class="list-default list-lg">
        <a class="animated fade-in-right" v-for="project in projects" ng-href="{% verbatim %}{{ project.url }}{% endverbatim %}">
            <project project-on-delete="onDelete" project-show-delete-action="true" project-allow-delete="project.ownerId == user.id" project-show-progress="true" project-show-status="true"></project>
        </a>
    </div>
</section>

Я знаю ng-controller = id, ng-repeat = v-for

И у меня есть этот базовый js:

    var ProjectController = new Vue({
      ready: function () {
        this.fetchUsers();
      }
      el: '#ProjectController',
      data: {
        projects: null
      },
      methods:{
       getProjects: function(){ 
         this.projects = JSON.parse('array with cluster, id, name, ownerId, etc');
    }
  },
  mounted: function () {
    this.getProjects();
  }
})

Теперь, как я могу получить доступ к этим переменным (как project или id) внутримассив json?

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете просто сделать:

var projectCtrl = $("#ProjectController").scope();

РЕДАКТИРОВАТЬ

если директива `project 'имеет изолированную область действия, то вам придется ввести ее с помощьюиспользуя

var projectDirectiveCtrl = $("#ProjectController project").isolateScope();

или

var $project = angular.element("[id='ProjectController']").scope();

, поскольку jqLite не поддерживает # селектор

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