需要正确的回调/更改语法才能将用户重定向到相应的网址

时间:2018-01-30 20:39:05

标签: javascript callback

我的第一篇文章所以请放轻松我;)...

以下代码是一个菜单,允许我单击菜单项并重定向到特定URL。但是,使用下面的代码,我收到一条错误消息:

意外令牌":"< - 引用以ret === 0开头的行?"

如果我删除最后两个window.location.assign命令,它将适用于菜单中的前两个项目。我假设它是我的语法,我到底做错了什么?

谢谢!

利亚

                                 4项菜单                                                   
    </div>

    <script src="plugin/react-with-addons.min.js" charset="utf-8"></script>
    <script src="plugin/react-dom.min.js" charset="utf-8"></script>

    <script src="plugin/app.js" charset="utf-8"></script>

    <script type="text/javascript">
    new CA_select({
        selector: document.getElementById('fs_3'),
        iconColor: '#fff',
        bgColor: '#00BCD4',
        items: [
            {class: "fa-thumbs-up"},
            {class: "fa-thumbs-down"},
            {class: "fa-arrow-right"},
            {class: "fa-arrow-left"}
        ],
        callback: true,
        change: (ret) => {
            ret === 0 ? window.location.assign("https://www.url1.com") : window.location.assign("https://www.url2.com") : window.location.assign("https://www.url3.com") : window.location.assign("https://www.url4.com") : 
        },

    });

    </script>

1 个答案:

答案 0 :(得分:0)

这是语法错误。

这是错误的

ret === 0? window.location.assign(“https://www.url1.com”):window.location.assign(“https://www.url2.com”):window.location.assign(“https://www.url3.com”):window.location.assign (“https://www.url4.com”):

三元运算符只能使用2个表达式。一个是TRUE,一个是FALSE。

这就是它应该如何

条件? expr1:expr2

有关更多信息,请查看

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

在您的情况下,您可以在更改功能中使用开关案例

change: (ret) => {
   switch(ret) {
      case "0":
         // window.location.assign("https://www.url2.com");
         break;
      case "1":
         // window.location.assign("https://www.url3.com");
         break;

   }
},