我了解您可以通过在地址栏中输入计算机的IP地址(带有相关的本地端口),从运行在同一网络上的移动设备访问计算机的本地站点.但是,我经常使用子域进行开发.在我的本地我使用lvh.me访问子域名.例如:
blog.lvh.me
Run Code Online (Sandbox Code Playgroud)
但是,这不适用于移动设备,因为lvh.me正在重定向到IP 127.0.0.1.
有没有办法访问IP地址上的子域?基本上,做与上述代码相同的事情,但允许动态IP地址取决于我的计算机当时的IP?
我想在Ember应用程序中的几个视图中包含标准功能.该功能包括将视图的tagName和classNames设置为相同并跟踪每个视图的属性.
问题简而言之:我应该使用mixin还是扩展基本视图?
扩大的问题......
是否应该扩展基本视图来执行此操作?例如:
App.BaseView = Em.View.extend({
tagName: 'section',
classNames: ['page_section', 'blue'],
willInsertElement: function() {
// Some functions called here that set properties
},
});
App.PageOneView = App.BaseView.extend({
// View specific stuff here
});
App.PageTwoView = App.BaseView.extend({
// View specific stuff here
});
Run Code Online (Sandbox Code Playgroud)
...或者,是否应该使用Mixin来扩展功能?例如:
App.BaseMixin = Em.Mixin.create({
tagName: 'section',
classNames: ['page_section', 'blue'],
willInsertElement: function() {
// Some functions called here that set properties
},
});
App.PageOneView = Em.View.extend(App.BaseMixin, {
// View specific stuff here
});
App.PageTwoView = Em.View.extend(App.BaseMixin, {
// …Run Code Online (Sandbox Code Playgroud) 我正在研究Ember-Rails应用程序.我之前使用过Yeoman来构建非ember-rails应用程序和js插件,我希望能够在我的Ember-Rails项目上实现Yeoman(特别是Grunt的livereload)的好处.但是,我不确定Ember,Rails和Yeoman是否完全兼容,以及它们的角色和职责是否重叠.例如:
依赖管理 - 我理解Bower用于依赖管理.Bower是否影响资产通过铁路资产管道加载的方式?通过Bower加载依赖关系而不是使用Rails gems有哪些优点/缺点?
Livereload - livereload是否与单页应用程序(如内置于Ember中)一样,与多页应用程序相同(例如,不使用js框架的html站点)?是重新加载单个模型/视图/控制器还是通过Rails资产管道重新加载和/或重新编译整个应用程序?
现有项目 - 将Yeoman集成到现有的Ember-Rails应用程序时是否存在陷阱?我们正在生产Ember 1.3.0-beta和Ember Data 1.0.0-beta.如果您有使用最新Ember版本的经验,Ember-auth和Ember-data是否与Yeoman兼容?
如果有人有结合Ember,Rails和Yeoman的经验,或者如果你了解前端和后端如何与这样的堆栈比较,请分享你的想法!你会建议只将Yeoman设置的一部分(例如Grunt)与Ember-Rails应用程序集成,而不是整个Yeoman吗?
谢谢.
我有一个建立在Ember-cli上的应用程序.我试图在所有路由,控制器和视图中注入一个方法.我知道我可以利用该app/utils目录并将方法的模块导入到调用它的所有文件中,但我希望该方法可以自动使用.因此,我选择使用初始化程序注入方法.
初始化程序如下所示:
export default {
name: 'injectMethod',
initialize: function(container, app) {
var someFunction = function(message) {
};
app.register('function:main', someFunction);
Em.A(['route', 'controller', 'view']).forEach(function(place) {
app.inject(place, 'someFunction', 'function:main');
});
}
};
Run Code Online (Sandbox Code Playgroud)
这会导致以下错误消息:Uncaught TypeError: undefined is not a function.我删除该app.inject()行时错误消失.
初始化程序在ember-cli中处理方式不同和/或上述代码中的某些内容是否正确?或者,与使用初始化程序相比,它们是实现目标的更好方法吗?
我在Ember CLI应用程序中定义了一堆模块,每个模块都以相同的路径开始.我想将模块导入应用程序中的模块.例如,我可以写:
import post1 from 'posts/1';
import post2 from 'posts/2';
import post3 from 'posts/3';
export default Em.ObjectController.extend({
posts: Em.A(post1, post2, post3),
});
Run Code Online (Sandbox Code Playgroud)
但是,我不知道模块名称,因为它们是由预编译器即时创建/命名的.我所知道的是路径总是以相同的字符串开头.在这种情况下,posts.
有没有办法导入以特定路径开头的所有模块?例如,我该怎么办的东西像下面这样:
import posts from 'posts/*';
// or
registry['posts'].forEach(postId, i) {
var path = 'posts/' + postId;
import i from path;
}
Run Code Online (Sandbox Code Playgroud)
我想要查找和导入的每个模块都导出了一个对象.
我已经通过ES6模块转换器文档,但找不到多少.
我想在Ember.js的视图中包含多个mixin,并且多个mixins和/或视图使用相同的事件(例如willInsertElement).我正在运行Ember 1.4.0-beta.5.
我知道每个mixin中的事件都会被视图覆盖.但是,我已经读过,通过this._super();在mixin的上述事件方法的开头调用,可以在mixin和view中使用相同的事件挂钩,或者在同一视图中包含多个mixin.但是,我无法成功实现这一目标.因此,我的问题是,如何在视图和mixin(或同一视图中包含的多个mixin)中的同一事件挂钩中编写逻辑,以便调用每次出现的事件挂钩中的所有逻辑.
这是一个例子:
App.StatsView = Em.View.extend(
App.DateFormatting, {
willInsertElement: function() {
// Some view-specific logic I want to call here
},
});
App.DateFormatting = Em.Mixin.create({
willInsertElement: function() {
this._super(); // This doesn't work.
// Some mixin logic I want to call here
},
});
Run Code Online (Sandbox Code Playgroud)
NB这里的一种方法可能是不使用mixin并扩展视图(因为willInsertElement特定于Em.View),但在我们的应用程序中无法维护.
ember.js ×5
ember-cli ×2
mixins ×2
ecmascript-6 ×1
ip ×1
iphone ×1
javascript ×1
localhost ×1
mobile ×1
object ×1
super ×1
superclass ×1
view ×1
yeoman ×1