相关疑难解决方法(0)

将点符号中的JavaScript字符串转换为对象引用

给定一个JS对象

var obj = { a: { b: '1', c: '2' } }
Run Code Online (Sandbox Code Playgroud)

和一个字符串

"a.b"
Run Code Online (Sandbox Code Playgroud)

如何将字符串转换为点符号,以便我可以去

var val = obj.a.b
Run Code Online (Sandbox Code Playgroud)

如果字符串只是'a'我可以使用,'a'但这更复杂.我想有一些简单的方法,但它目前逃脱了.

javascript

188
推荐指数
13
解决办法
10万
查看次数

从自定义指令VueJS更新模型

我目前使用Vue.JS 2.0,我想从一个自定义指令更新一个Vue实例的模型,但是我看起来很好的方法,这是因为我试图创建一个实现JQueryUI-Datepicker代码的自定义指令如下:

<input type="text" v-datepicker="app.date" readonly="readonly"/>

Vue.directive('datepicker', {
  bind: function (el, binding) {
    $(el).datepicker({
      onSelect: function (date) {
        //this is executed every time i choose an date from datepicker
        //pop.app.date = date; //this work find but is not dynamic to parent and is very dirty
        Vue.set(pop, binding.expression, date); //this should work but nop
      }
    });
  },
  update: function (el, binding) {
    $(el).datepicker('setDate', binding.value);
  }
});

var pop = new Vue({
    el: '#popApp',
    data: {
        app: {
            date: ''
        }
    } …
Run Code Online (Sandbox Code Playgroud)

javascript jquery-ui vuejs2

14
推荐指数
1
解决办法
2251
查看次数

Javascript - 检索对象属性路径

我有以下对象

var obj = {};
obj.foo = {};
obj.foo.bar = "I want this";
Run Code Online (Sandbox Code Playgroud)

如果将"path" "foo.bar"作为字符串,我该如何检索obj.foo.bar(或obj[foo][bar])?

javascript

2
推荐指数
1
解决办法
1773
查看次数

JavaScript在不知道级别的情况下为嵌套对象中的元素赋值

说我有这样一个对象:

a : {
  a1 : {
    a2: true
  } 
}
Run Code Online (Sandbox Code Playgroud)

我将所有路径保存在一个数组中:

[a1, a2]
Run Code Online (Sandbox Code Playgroud)

如果我想为["a1"] ["a2"]赋值,很容易:

a["a1"]["a2"] = true;
Run Code Online (Sandbox Code Playgroud)

但是,当我有这样的3级路径时:

[a1, a2, a3]
Run Code Online (Sandbox Code Playgroud)

我必须像这样手动编写代码:

a["a1"]["a2"]["a3"] = true;
Run Code Online (Sandbox Code Playgroud)

有没有办法自动处理任何级别的路径,这样我就不必为每一个案例明确表达它?

请注意,"a"可能非常复杂,因此我只想为此特定元素赋值而不触及其余元素.

javascript object

1
推荐指数
1
解决办法
1982
查看次数

使用eval将字符串转换为函数是不是很邪恶?

我在eval()上听到了很多不同的意见,并且有点不确定在这种情况下是否可以使用eval():

假设我有一个这样的对象:

var bla = {
blubb: function (callback) {
       //GET some stuff via ajax
       //call the callback
    }
}
Run Code Online (Sandbox Code Playgroud)

和这样的字符串:

 var someString = "bla.blubb";
Run Code Online (Sandbox Code Playgroud)

为了调用函数(和回调函数)来评估字符串是不是很邪恶?

var callMe = eval(someString)
callMe(function(){
   alert('yay')!
});
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
700
查看次数

Js或ES6当字段具有2个或更多嵌套级别时,按路径字符串获取对象字段,如myObj.one.two.three.field

如果我有一个总是相同的基础对象:project但有时我必须动态访问它的字段,如果它可以是1个或多个嵌套对象,我该如何访问它的字段,例如:

function (myPath){
  return project[myPath];

}
Run Code Online (Sandbox Code Playgroud)

这在使用project["oneField"]时有效myPath("oneField")

但是当它嵌套到更多级别时它不起作用:

myPath("one.two.fieldName") 不起作用: project["one.two.fieldName"]

不是这样的: project."one.two.fieldName"

javascript ecmascript-6

0
推荐指数
1
解决办法
2657
查看次数

标签 统计

javascript ×6

ecmascript-6 ×1

jquery-ui ×1

object ×1

vuejs2 ×1