我试图用onsen ui设置vuejs,我收到此错误:
错误:未捕获的TypeError:Vue.util.hyphenate不是函数
以下是整个代码:
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/onsen/2.1.0/css/onsenui.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/onsen/2.1.0/css/onsen-css-components.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.1/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/onsen/2.1.0/js/onsenui.js"> </script>
<script src="https://unpkg.com/vue-onsenui@2.0.0-alpha.0"></script>
</head>
<body>
<div id="app"></div>
</body>
<script>
var vm = new Vue({
el: '#app',
template:
'<v-ons-page>\
<v-ons-toolbar>\
<div class="center"> Title </div>\
</v-ons-toolbar>\
<p style="text-align: center">\
<v-ons-button @click="$notification.alert(\'Hello World!\')">Click</v-ons-button>\
</p>\
</v-ons-page>'
});
</script>
</html>
我发现这不是一个已知问题。我也尝试使用旧版本的od vue,如2.0.0。
有人可以帮忙吗?
答案 0 :(得分:2)
先生,我遇到了同样的错误,我试图找到错误并解决它。 首先,下载&#34; https://unpkg.com/vue-onsenui@2.0.0-alpha.0&#34;,然后将脚本dom的src更改为您当地的src。 然后你可以打开&#34; vue-onsenui@2.0.0-alpha.0"并找到这些代码:
var register = function register(Vue, type, items) {
(0, _keys2.default)(items).forEach(function (key) {
var value = items[key];
key = Vue.util.hyphenate(key);
Vue[type](key, value);
});
};
&#13;
所以你可以看到&#34; Vue.util.hyphenate&#34; ,但现在vue没有这个功能。请使用此文件中的相同功能。
例如:
var register = function register(Vue, type, items) {
(0, _keys2.default)(items).forEach(function (key) {
var value = items[key];
var hyphenate = function hyphenate(string) {
return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
};
key = hyphenate(key);
Vue[type](key, value);
});
};
&#13;
我的英语非常糟糕,很抱歉使用你的时间。
答案 1 :(得分:1)
在上一个版本中,Vue.js已删除Vue.util上的许多公开方法和属性。
因此,您需要下载javascript文件(https://unpkg.com/vue-onsenui@2.0.0-alpha.0)并替换67行中的代码:
key = Vue.util.hyphenate(key);
到此代码:
key = key.replace(/([a-zA-Z])([A-Z])/g, '$1-$2').toLowerCase();