vue怎么导入自己写的js文件

 我来答
草的坚强你不懂
2018-04-12 · TA获得超过2153个赞
知道小有建树答主
回答量:12
采纳率:100%
帮助的人:4710
展开全部

1. 首先我们要改变我们要映入的外部js文件,改成以下这个格式。

代码:<pre class="html">function realconsole(){ alert("hello.thanks use me"); } export { realconsole } </pre>

2. 到我们的寄主那里,我们需要导入仿造的文件,方法是这样的:

代码:<pre class="html">&lt;template&gt; &lt;div class="teslist"&gt; &lt;button @click="methods1"&gt;显示console&lt;/button&gt; &lt;/div&gt; &lt;/template&gt; &lt;script src="../../lib/myconsole.js"&gt;&lt;/script&gt; &lt;script&gt; import { realconsole } from '../../lib/myconsole.js' export default { methods:{methods1:function(){ realconsole(); } }} &lt;/script&gt; &lt;style&gt; .teslist { } &lt;/style&gt;</pre>

注意红色叉的部分,那是我们es5的写法,绿色才是正确的,下面是效果图

gcaijiuh90
2017-01-04 · TA获得超过248个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:243万
展开全部
  1.在components 目录下新建一个validate.js:
  export default{
  install(Vue){
  Vue.prototype.$myName = "zhagngsan";
  }
  }
  这就是我们的插件,定义了一个属性
  2.入口文件jssrc/index.js 加入:
  // 引入
  import validate from "./../components/validate";
  // 使用
  Vue.use(validate);
  3.我们到user-username.vue 组件下验证一下:
  mounted(){
  alert(this.$myName);
  },
  浏览器访问登录页面,成功弹出:
  这里写图片描述
  4.刚刚我们已经学会插件里定义属性,马上来学一下如何定义方法:
  export default{
  install(Vue){
  // Vue.prototype.$myName = "zhagngsan";
  Vue.prototype.checkUserName = (value) => {
  if(/\w{6,20}/.test(value)){
  return true;
  }else{
  return false;
  }
  }
  }
  }
  同样可以使用该方法:
  if(this.checkUserName("hello")){
  alert("ok");
  }else{
  alert("error");
  }
  5.
  这里写图片描述
  我们修改user-name.vue 组件,来实现文本框验证:
  <template>
  <div class="form-group">
  <label class="col-sm-2 control-label">用户名</label>
  <div class="col-sm-10">
  <input type="text" v-model="username" v-on:change="userNameChange" class="form-control" :placeholder="username">
  <label class="label label-danger" v-if="showErrorLabel">用户不合法</label>
  </div>
  </div>
  </template>
  <script>
  export default{
  props:["placeholder"],
  data:function () {
  return {
  username:"",
  showErrorLabel:false,
  }
  },
  methods:{
  userNameChange(){
  // 用户名改变的方法里判断 用户名是否复合要求
  if(this.checkUserName(this.username)){
  this.showErrorLabel = false; // 如果验证没有通过就显示错误提示
  }else{
  this.showErrorLabel = true;
  }
  // 调用父组件的方法
  this.$emit("childChange","username",this.username)
  }
  }
  }
  </script>
  这里写图片描述
  自定义指令
  文档:https://vuefe.cn/guide/custom-directive.html
  1、validate.js:
  export default{
  install(Vue){
  // Vue.prototype.$myName = "zhagngsan";
  Vue.prototype.checkUserName = (value) => {
  if(value == ""){
  return true; // 如果没有填写,默认为true
  }
  if(/\w{6,20}/.test(value)){
  return true;
  }else{
  return false;
  }
  }
  Vue.directive("uname",{
  bind(){
  console.log("bind"); // 只会调用一次
  },
  update(el,binding,vnode){
  console.log(el);
  console.log(binding);
  console.log(vnode);
  },
  })
  }
  }
  2、我们自定了一个uname 指令,下面来看一下如何使用的?
  <input type="text" v-uname="username" v-model="username" v-on:change="userNameChange" class="form-control" :placeholder="username">
  我们在组件的模板里使用了 v-uname ,并且给绑定了”username”数据。
  我们打开浏览器的控制台:
  这里写图片描述
  说明我们定义的指令里,这个方法执行了:
  bind(){
  console.log("bind"); // 只会调用一次
  },
  3、下面我们来看一下update 里的东东
  update(el,binding,vnode){
  console.log(el);
  console.log(binding);
  console.log(vnode);
  }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晖哥大神
2017-01-04 · 超过43用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:49.3万
展开全部
import '组件' form '你的js文件',
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式