2017-09-26 9 views
0

私はチェックボックスのフラグに基づいてif/elseを実行しようとしています。以下は私のビューとコントローラのスニペットです。最後の1行に構文エラーが表示されます。誰でも手掛かりがありますか?SAPUI5コントローラにif/elseベースの実装方法

[表示] -

<mvc1:View 
    controllerName="sap.ui.demo.wt.controller.App" 
    xmlns="sap.m" 
    xmlns:mvc1="sap.ui.core.mvc1"> 

<CheckBox id="i1" text="Test" selected="false" select ="checkDone" enabled="true" /> 

</mvc1:View> 

Controller-

sap.ui.define(["sap/ui/core/mvc/Controller"], function(Controller) { 
    "use strict"; 
    return Controller.extend("sap.ui.demo.wt.controller.App", { 
     checkdone: function() { 
      var check = this.byId("i1").getSelected(); 
      if (check = true) { 
       alert("Successful"); 
      } else { 
       return ''; 
      } 
     } 
    }) 
};); 

答えて

0

私はあなたがreturn ''行を削除する必要があることを前提としています。

また、私はあなたがif (check === true)if (check)を使用するようにアドバイスでしょうそれに加えて、これらのヒントは、助けセミコロンや括弧をチェックしない場合は

checkDone: function (oEvent) { 
    var bSelected = oEvent.getParameter('selected')); 
} 

でチェックボックスを選択し得れば、より有益であると思われます。一般的に、すべてのIDEが間違っていたら何かアドバイスをお願いします。私はあなたのコントローラの終わりは次のようにあるべきだと思う:

  } else { 
       return ''; 
      } 
     } 
    }); 
}); 
+0

感謝するだけでなく、エラーにつながる他のブロックを空にする残りの変更を提案しても構文エラーは残ります。 – Jim

+0

はい、中括弧やセミコロンで何か問題があるようです。私は私の答えを更新しました。 – Rufi

0

は、私はあなたのコードで物事のいくつかに気づいた、

checkdone方法でイベントを取得してから、選択したデータを取得しようidの代わりにそのイベント。

=の代わりに、===と比較しています。

最後に、セミコロンを間違った場所に使用しています。それで、なぜあなたはエラーを受けているのですか。あなたが最後の行に余分なセミコロンを使用していたあなたのコードを1として

sap.ui.define(["sap/ui/core/mvc/Controller"], function (Controller) { 
    "use strict"; 
    return Controller.extend("sap.ui.demo.wt.controller.App", { 
     checkdone: function(oEvent){ 
      var check = oEvent.getParameter('selected'); 
      if (check === true){ 
       alert("Successful"); 
      } else { 
       return ''; 
      } 
     } 
    }); 
}); 
0

sap.ui.define([ "sap/ui/core/mvc/Controller" ], function(Controller) { 
    "use strict"; 
    return Controller.extend("sap.ui.demo.wt.controller.App", { 
     checkdone: function() { 
      var check = this.byId("i1").getSelected(); 
      if (check = true) { 
       alert("Successful"); 
      } else { 
       return ''; 
      } 
     } 
    }) 
};);//extra semicolon 

更新コード:あなたの提案のための

sap.ui.define(["sap/ui/core/mvc/Controller"], function(Controller) { 
    "use strict"; 
    return Controller.extend("sap.ui.demo.wt.controller.App", { 
     checkdone: function() { 
      var check = this.byId("i1").getSelected(); 
      if (check) { 
       alert("Successful"); 
      } else { 
       return ''; 
      } 
     } 
    }) 
});//remove exta semicolon 
関連する問題