vue学习笔记2-语法规则

1. import中js,vue,json的后缀省略,@表示src

ES6模块主要有两个功能:export和import

-export用于对外输出本模块(一个文件可以理解为一个模块)变量的接口

-import用于在一个模块中加载另一个含有export接口的模块。

export跟export default 有什么区别捏?如下:

1、export与export default均可用于导出常量、函数、文件、模块等

2、你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用

3、在一个文件或模块中,export、import可以有多个,export default仅有一个

4、通过export方式导出,在导入时要加{ },export default则不需要.

————————————————

2. Vue.prototype.$appName = ‘My App’

这样 $appName 就在所有的 Vue 实例中可用了,甚至在实例被创建之前就可以。如果我们运行:

new Vue({

  beforeCreate: function () {

    console.log(this.$appName)

  }

})

则控制台会打印出 My App。就这么简单!

你可能会好奇:

“为什么 appName 要以 $ 开头?这很重要吗?它会怎样?”

这里没有什么魔法。$ 是在 Vue 所有实例中都可用的属性的一个简单约定。这样做会避免和已被定义的数据、方法、计算属性产生冲突。

“你指的冲突是什么意思?”

另一个好问题!如果你写成:

Vue.prototype.appName = ‘My App’

那么你希望下面的代码输出什么呢?

new Vue({

  data: {

    // 啊哦,`appName` *也*是一个我们定义的实例属性名!😯appName: 'The name of some other app'  },

  beforeCreate: function () {

    console.log(this.appName)

  },

  created: function () {

    console.log(this.appName)

  }

})

日志中会先出现 “My App”,然后出现 “The name of some other app”,因为 this.appName

在实例被创建之后被 data 覆写了。我们通过 $ 为实例属性设置作用域来避免这种事情发生。你还可以根据你的喜好使用自己的约定,诸如

$_appName 或 ΩappName,来避免和插件或未来的插件相冲突。

————————————————

ref 写在标签上时:this.$refs.名字 获取的是标签对应的dom元素

ref 写在组件上时:这时候获取到的是 子组件(比如counter)的引用

————————————————

const row = { }

typeof row =====object

Object.keys(row).length

const myArray=[]

for(let i=0 ;i < myArray.length; i++)

{

        if(myArray[i].parentId == "")

       {

            delete myArray[i];

        }

      }


————————————————

一个等号是赋值操作,==先转换类型再比较,===先判断类型,如果不是同一类型直接为false。

alert(1 == “1”); // true

alert(1 === “1”); // false

=>是es6语法中的arrow function,(x) => x + 6相当于function(x){ return x + 6; };

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容