zoukankan      html  css  js  c++  java
  • EmberJS路由详解

    配置路由器,ember中是根据路径寻找与路由名相对应的模板和控制器的,比如当访问http://localhost:80/这个网址的时候,ember框架会自动寻找与路由名post相对应的PostTemplate模板和PostRoute路由以及PostController控制器,其中路由和控制器可以不定义,框架会自动生成,但如果你想要在加载模板的时候做一些事情,比如给模板填充数据等,就可以在路由里面通过model或setupController两个钩子方法,这两个方法会自动运行,当用户在模板里触发某个行为的时候,就会在模板所对应的控制器里面找相应的行为方法,所以说控制器可以用来监控模板视图中用户操作的动作,如果控制器是用来监控动作的,就用Ember.ObjectController.extend()来声明,如果控制器是用来给模板提供数据(该数据可以在模板中直接遍历),就用Ember.ArrayController.extend()来声明

    更正以上说法:如果是在地址栏中直接输入的URL,是根据URL寻找模板、路由、控制器,如果是在模板中通过路由名定义的链接,则是根据路由名找相应的模板、路由、控制器

    App.Route.map(function(){

      this.resource("post",{path:'/'});

      this.resource("posts",{path:"/:posts_id"});

      this.resource('about',{path:'about'});

    })

    App.PostRoute = Ember.Route.extend({

      model:function(){

        return [{id:1,name:'kevin',age:18},{id:2,name:'ivan',age:20}];

      }

    })

     

    App.PostController = Ember.ObjectController.extend({
    isEditing: false,

    actions: {
    edit: function() {
    this.set('isEditing', true);
    },

    doneEditing: function() {
    this.set('isEditing', false);
    }
    }
    });

  • 相关阅读:
    沙雕玩意儿
    1558:聚会 ybt
    沙雕关于线段树的一点总结(滑稽)
    卑微
    沙雕题目 来自luogu
    甜茶好帅啊
    python 中字符串的格式化
    python的几个小程序
    python 第一课
    基于笔画宽度变换的自然场景文本检测方法
  • 原文地址:https://www.cnblogs.com/toward-the-sun/p/4099048.html
Copyright © 2011-2022 走看看