Jshint / PhpStorm:使用 jquery .data() 时 "Unresolved variable"
Jshint / PhpStorm: "Unresolved variable" when using jquery .data()
Phpstorm 一直告诉我有一个未定义的变量 input.connectto
Html:
<div class="b-showColorinList" data-connectto="123456" data-othervalue="Lorem Ipsum">...
JS:
$(document).on('click', '.b-showColorinList', function() {
cm.showColorInList( $(this) );
});
并且:
/**
* Uses ajax to get other color in list view
* @param {object} inputObj
*/
cm.showColorInList = function(inputObj) {
"use strict";
var input = inputObj.data(),
parent = $("#"+input.connectto),
othervalue = input.othervalue;
我知道我可以忽略 jshint 中的一行,但是有什么方法可以用 jsdoc 使它正确吗,例如将 input
定义为对象
根据 JSDoc docs 正确的方法应该使用 @typedef
来定义实际的对象结构(如果稍后在另一个地方重新使用它特别有用)和 @type
来声明特定变量的类型:
/**
* @typedef {Object} MyInputData
* @property {string} connectto
* @property {string} othervalue
*/
/** @type {MyInputData} */
var input = inputObj.data();
这个(只有 @typedef
和变量名作为类型名)似乎也适用于 PhpStorm:
/**
* @typedef {Object} input
* @property {string} connectto
* @property {string} othervalue
*/
var input = inputObj.data();
Phpstorm 一直告诉我有一个未定义的变量 input.connectto
Html:
<div class="b-showColorinList" data-connectto="123456" data-othervalue="Lorem Ipsum">...
JS:
$(document).on('click', '.b-showColorinList', function() {
cm.showColorInList( $(this) );
});
并且:
/**
* Uses ajax to get other color in list view
* @param {object} inputObj
*/
cm.showColorInList = function(inputObj) {
"use strict";
var input = inputObj.data(),
parent = $("#"+input.connectto),
othervalue = input.othervalue;
我知道我可以忽略 jshint 中的一行,但是有什么方法可以用 jsdoc 使它正确吗,例如将 input
定义为对象
根据 JSDoc docs 正确的方法应该使用 @typedef
来定义实际的对象结构(如果稍后在另一个地方重新使用它特别有用)和 @type
来声明特定变量的类型:
/**
* @typedef {Object} MyInputData
* @property {string} connectto
* @property {string} othervalue
*/
/** @type {MyInputData} */
var input = inputObj.data();
这个(只有 @typedef
和变量名作为类型名)似乎也适用于 PhpStorm:
/**
* @typedef {Object} input
* @property {string} connectto
* @property {string} othervalue
*/
var input = inputObj.data();