2015-05-01 4 views
8

Я пытаюсь использовать WebStorm, потому что он утверждает, что имеет превосходное завершение кода при работе с проектами AngularJS. Я использую версию 10.0.2 и столкнулся с проблемой завершения кода, уже использующей начальный проект AngularJS.Webstorm 10 Code Completion не работает с контроллером AngularJS. Синтаксис

Я пытаюсь использовать синтаксис controllerAs для указания имени viewmodel контроллера внутри $ routeProvider следующим образом.

'use strict'; 

angular.module('myApp.view1', ['ngRoute']) 

.config(['$routeProvider', function($routeProvider) { 
    $routeProvider.when('/view1', { 
    templateUrl: 'view1/view1.html', 
    controller: 'View1Ctrl', 
    controllerAs: 'vm' 
    }); 
}]) 

.controller('View1Ctrl', [function() { 
     var vm = this; 
     vm.hello = 'Hello World'; 
}]); 

Controller & Route Config

Однако внутри шаблона HTML я получаю «нерешенным переменной или типа» предупреждение. (А волнистая линия под VM)

<p>This is the partial for view 1.</p> 
<div>{{vm.hello}}</div> 

HTML warning

Но страница загружается нормально, когда я запускаю его

Я хотел бы показать изобразительный доказательство, но мне нужно больше респ первый: ^)

Опять же, я просто использую проект OOTB AngularJS, который указан как один из базовых шаблонов для создания нового проекта WebStorm, поэтому я ожидаю, что все будет правильно настроено для правильной работы Angular. Я также смотрел видео Pluralsight, где такое завершение кода, похоже, работало, хотя оно было в WebStorm 9, а не 10.

Я проверил и включил плагин AngularJS. Я также попробовал загрузить библиотеку javascript-библиотеки с типом descriptcript для angularjs, но, похоже, это не помогло. Я сгенерировал проект, используя «Генерирование приложения AngularJS Stub», который, согласно документам, должен давать мне угловую поддержку.

Любая помощь была бы принята с благодарностью.

+0

Вы должны указать код; не скриншот кода; а также то, что вы пытаетесь сделать с ним.Картинки полезны, но если эти ссылки умирают, никто не сможет сказать, что вы пытаетесь сделать. –

+0

Вы следовали «Установка AngularJS вручную» здесь https://www.jetbrains.com/webstorm/help/using-angularjs.html? Кроме того, я, кажется, помню, что вам нужно иметь angular.js или angular.min.js где-то в вашей папке проекта, хотя я мог ошибаться. –

+0

Хороший вызов @GeorgeStocker –

ответ

2

Я слышал от поддержки JetBrains о том, что как «контроллер как синтаксис», так и «поддержка маршрутизатора» еще находятся в стадии разработки, и в будущем их планируется улучшить.

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

https://youtrack.jetbrains.com/issue/WEB-11175

https://youtrack.jetbrains.com/issue/WEB-10654

4

Вы можете обойти эту проблему, добавив JSDoc комментарий

/** 
* @name vm 
* @type View1Ctrl 
*/ 
+0

Это работает хорошо! больше полагайтесь на удобную «vm» повсюду ... может быть, это хорошо. – smajl

0

--- В настоящее время в Webstorm 2016 v.3 ---

В вашей обертку элемент директивы, вы можете быть избыточными и использовать атрибут

ng-controller="vm as vm" 

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

Никаких дополнительных предложений ... ничего полезного ... только отсутствие отвращения.

Смежные вопросы