ember_Study

emberJs的特性

绑定:双向绑定的变量值将相互影响和更新;

计算属性:将方法标识为属性,并自动随其所依赖属性变化而更新;

自动更新模板:无论底层数据何时更改,始终确保界面处于最新状态;

ember应用结构

控制器层:构建路由与控制器的结合逻辑

视图层:构建模板与视图的结合逻辑

ember 引入外部文件(ember-cli-build.js)

通过npm安装的文件,不需要引入,一般用npm安装的文件在package.json中

一般引入的文件是通过bower安装的依赖,使用bower安装的依赖在bower.json中(引入bower安装的文件路径:bower_components/文件)

引入外部文件需要进行环境变量的配置,在config/environment.js中进行配置

sendAction方法  和 send 方法的区别?

sendActio只存在Ember.Component类类,而send在send.route、send.controller、send.Component类中,

两者的第一个参数是action所对应的名字action(actionName)

sendAction中的方法名是Ember.Component类中所对应的根级的key,只有当这个key的值是一个function的时候才正常工作,否则报错

send(actoinName)参数则是在controller中actions:{}存在的actionName,若actions中没有这个名字,会报错

 以上是sendAction的使用

页面路由跳转

缺点:不更新路由
1、this.transitionTo('index')
2、this.transitionToRoute('index')
离开当前组件的钩子函数 routes/test.js
model:{}
actions:{
    will Transition:function(route){
        if(route.targetName !== 'test'){ 
            //执行逻辑
        }
    }
}

控制器文件初始化执行钩子函数controlles/test
actions外面
init:function(){
    Ember.run.scheduleOnce('afterRender',this,function(){
        //进入当前界面只执行一次
    })
}

使用其他界面控制器中的方法

testA:Ember.inject.controller('test');
使用:let test = this.get('testA');test.send('方法1')

使用outlet占位符

当前界面B.hbs
{{outlet 'test1'}}

routes/界面B.js
renderTemplate:function(){
    this.render('test/B')
    this.render('yy/test1',{
        into:'test/B',
        controller:'yy/test1',
        outlet:'test1'
    })
}
controller/界面B.js
C:Ember.inject.controller('test1')
C.send('...')

助手

数据转义convert-pri
import Ember from 'ember';

function priConvert([value,priArr]){

    if(priArr[value]){
        return priArr[value].text
    }
}
export default Ember.Helper.helper(priConvert)
使用
{{convert-pri record.risk priArr}}
参数介绍:
 priArr:computed('this',function(){
        return [{id:'0',text:'告警'},{id:'1',text:'警告'}]
 })
record.risk:string<一般接口返回> '0'||'1'

handbars语法

{{#if (eq ...)}}

{{else if (eq ...)}}

{{/if}}

//或者
{{#if (or (eq ..) (eq ..))}}

//并且
{{#if (and (not-eq ..) (not-eq ..))}}

Math.pow(1024,2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值