Javascript 如果阻塞指令方法,则为ng

Javascript 如果阻塞指令方法,则为ng,javascript,angularjs,Javascript,Angularjs,我有一个Opentoke库的指令,但当我使用ng if时,它不起作用,使用ng if的原因是IOS设备不支持webrtc,因此它在加载DOM后显示警报 <div class="opentok" ng-if="!isMobileView"> <open-tok-archive></open-tok-archive> </div> <a href="javascript:void();" ng-click="myMethod()">c

我有一个Opentoke库的指令,但当我使用
ng if
时,它不起作用,使用
ng if
的原因是IOS设备不支持webrtc,因此它在加载DOM后显示警报

<div class="opentok" ng-if="!isMobileView">
  <open-tok-archive></open-tok-archive>
</div>

<a href="javascript:void();" ng-click="myMethod()">click me</a>

<div class="opentok" ng-if="!isMobileView">
  <open-toke-screen-share></open-toke-screen-share>
</div>
<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>

使用ng show/ng hide而不是ng if

<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>
编辑

  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>
<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>

看看这个小玩意儿

<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>
如果有效,请在不使用ng的情况下尝试此功能

<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>

切换
如果不起作用,则使用ng

<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>

<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>

<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>

切换

什么不起作用?请粘贴您的指令在指令外有一个链接,该链接调用指令的方法,该方法在ng ifI添加指令样本后不起作用。您正在显示指令的HTML指令并给出指令“openTokArchive”的样本。所以很难理解你的问题。请更正它。我不想在HTML DOM上附加元素。你能在加载URL的地方发布JS代码吗?我没有使用任何加载URL<这是一个带有一些$scope方法的简单指令,但在使用ng之后,如果它不起作用,则它起作用。如果没有足够的信息,则很难解决问题。我已经添加了示例如果
<body ng-app="app" ng-controller="myCtrl" ng-init="variables">
  <div class="opentok" ng-if="!isMobileView">
    <open-tok-archive></open-tok-archive>
  </div>

  <button type="button" ng-click="myMethod()">Toggle</button>

</body>