Knockout switch-case插件没有隐藏/显示正确的值

时间:2014-07-29 14:29:16

标签: javascript knockout.js

我正在使用knockout-switch-case extension插件,即使是最简单的代码,也很难让它工作。使用knockout 3.0,下面是我使用的代码; 我是布尔!我将会显示其他文本。

// Javascript
ko.applyBindings({type: 'integer'});

<!-- Html bindings -->
<div>
  <!-- ko switch: type -->
  <!-- ko case: 'boolean' -->
  <span> Im a boolean!</span>
  <!-- /ko -->
  <!-- ko case: $else -->
  <span> Im an other!</span>
  <!-- /ko -->
  <!-- /ko -->
</div>

这里是JSFiddle代码。我在使用这个插件时做错了吗?

2 个答案:

答案 0 :(得分:2)

您正在引用脚本的github页面,而不是脚本文件本身。

正确路径:https://raw.githubusercontent.com/mbest/knockout-switch-case/master/knockout-switch-case.min.js

P.S。:对于JSFiddle,<script>标签类型属性应该等于text/javascript

演示:JSFiddle

答案 1 :(得分:1)

你的问题是你的小提琴没有加载ko-switch插件。

由于mime类型的强制执行,manji解决方案可能无法在某些浏览器(例如IE11)中运行:github不会返回带有javascript mime类型的原始js文件,IE拒绝执行错误SEC7112。

这是一个有效的小提琴。我在rawgithub.com上引用了插件(注意在raw.github.com中没有点):

<script src="http://rawgithub.com/mbest/knockout-switch-case/master/knockout-switchcase.min.js"></script>
<span data-bind='text:type'></span>
<div>
  <!-- ko switch: type -->
  <!-- ko case: 'boolean' -->
  Im a boolean!
  <!-- /ko -->
  <!-- ko case: $else -->
  <span> Im an other!</span>
  <!-- /ko -->
  <!-- /ko -->
</div>

http://jsfiddle.net/a5H92/1/

提示:要查找错误,我只需要查看我的浏览器控制台。

编辑:抱歉我粘贴了错误的代码,但小提琴是正确的;)