我正在学习Ember,同时遵循ember-cli的todomvc教程:http://thetechcofounder.com/getting-started-with-ember-js-using-ember-cli/
我在编辑待办事项的部分,需要添加editTodo动作TodoController.到目前为止一切都那么好,但它也说要itemController在each把手助手上使用,告诉每个待办事项使用特定的控制器
.
问题是,当我添加itemController到each模板(使用Emblem.js: each itemController='todo'),模板不再呈现在集合中的每个项目的标题,它只是使他们的空白:

我不明白为什么会这样.
section#main
ul#todo-list
each
li class={isCompleted:completed}
if isEditing
input.edit
else
= input class='toggle' type='checkbox' checked=isCompleted
label{action 'editTodo' on='doubleClick'}= title
button.destroy
input#toggle-all type='checkbox'
Run Code Online (Sandbox Code Playgroud)
`import Ember from 'ember'`
TodoController = Ember.Controller.extend
actions:
editTodo: ->
@set 'isEditing', true
`export default TodoController`
Run Code Online (Sandbox Code Playgroud) 我正在使用ember-data来编辑具有自动模型分辨率的用户
this.route('user', function() {
this.route('edit', { path: ':user_id'})
});
Run Code Online (Sandbox Code Playgroud)
这工作正常,用户可以修改模型的所有方面DS.attribute,DS.belongsTo和DS.hasMany.
用户可以通过多种方式导航,在这种情况下,应从模型中删除所有更改.
Cancel按钮Broswer Back按钮Save按钮,远程请求fails,然后导航离开页面.只有在用户通过单击Save按钮明确要求更改并且服务器请求成功时,才应应用更改.
我考虑使用ember-buffered-proxy,但我不确定这将如何处理DS.belongsTo和DS.hasMany关系.无论如何,在保存模型之前我需要 buffer.applyBufferedChanges();先保存,如果服务器出现故障,我就像以前一样处于保存状态.
willTransition路线中的钩子似乎是显而易见的地方,但我怎样才能确保所有更改都从模型中删除,rollbackAttributes()只有DS.attribute控件才有效.
我希望日期格式为以下格式:
日期:2016-12-04进入الأحد,4ديسمبر,2016
但我得到以下内容.这些数字将转换为阿拉伯数字.我想要英文数字的日期和年份:
الأحد,4ديسمبر,2016
我使用以下代码将日期格式化为阿拉伯语.
var date = new Date('2016-12-04');
options = {
weekday: 'long',
year: 'numeric',
month: 'short',
day: 'numeric',
};
var dateString = date.toLocaleDateString('ar-SA', options);
alert(dateString);
Run Code Online (Sandbox Code Playgroud) React 应用程序动态地动态渲染组件,因此搜索引擎无法索引页面,并使社交共享变得复杂。处理此类问题并使 React-Redux 应用程序对 SEO 友好的最佳实践是什么?
我有一个函数,它返回$ http GET的承诺(承诺成功/错误由调用者处理).我需要的是,在某些条件下,即使$ http成功,也要返回一个错误(调用者将这个条件视为被拒绝的承诺).
在这个插件中,我试图返回$ q.reject()但这不起作用.
http://plnkr.co/edit/iC3Wb1PBUFrXgPbTJyU0?p=preview
这是JavaScript:
app.controller("ctrl", function($scope, $http) {
var getUrl = function() {
var config = {
method: 'GET',
url: 'some.txt'
};
var x = 1; // if x == 1 the http should fail
return $http(config).success(function(response, status, headers, config) {
console.log(response);
if (x == 1) return $q.reject('error');
}).error(function(data, status, headers, config) {});
};
var init = function() {
var promise = getUrl();
promise.then(function() {
alert('OK');
}, function() {
alert('error');
});
};
init();
});
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
如何将 div 的字符转换为跨度?
例如,我想转换这个:
<div>
Hello World
</div>
Run Code Online (Sandbox Code Playgroud)
进入这个:
<div>
<span>H</span>
<span>e</span>
<span>l</span>
<span>l</span>
<span>o</span>
<span>W</span>
<span>o</span>
<span>r</span>
<span>l</span>
<span>d</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个 StackOverflow 建议,但是它将空格转换为跨度。我需要的是仅将字符转换为跨度:
$("div").each(function (index) {
var characters = $(this).text().split("");
$this = $(this);
$this.empty();
$.each(characters, function (i, el) {
$this.append("<span>" + el + "</span");
});
});
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试three.js。我想在下面的示例中更改代码,以便点是圆形的,而不是正方形。
我发现了另一个示例,称为canvas粒子random,它具有圆形粒子,基本上,脚本中的唯一区别如下:
var PI2 = Math.PI * 2;
var program = function ( context ) {
context.beginPath();
context.arc( 0, 0, 0.5, 0, PI2, true );
context.fill();
};
Run Code Online (Sandbox Code Playgroud)
我以为如果将其添加到其他脚本中,则粒子将变得圆润。但是,当我将上述脚本添加到第一个脚本时,它不起作用(我只得到了蓝屏)。
有人知道我在做什么错吗?
如果不使用商业工具,是否有一种简单的方法来生成样本FHIR资源?
我正在开发一个项目来将FHIR消息存储到Elasticsearch,我需要一个工具来实时生成FHIR样本消息以通过TCP/IP发送.
我试图拖动一个元素,然后将其放入放置区域,但测试并未在 Cypress.io 中执行拖放操作。如果有人可以就这里的潜在问题提供建议,那将非常有帮助。没有抛出错误,但是这里仍然没有发生拖放。
describe('Verify the drag and drop test', function() {
it.only('Check whether the drag and drop of an item is working fine', function() {
cy.visit('http://www.seleniumeasy.com/test/drag-and-drop-demo.html')
const MyDataTransfer = function () {};
const dt = new MyDataTransfer ();
dt.types = [];
// cy.wait(3000);
cy.get('#todrag span')
.contains('Draggable 1')
.trigger("draggable", {dataTransfer: dt});
cy.get("#todrag span")
.contains('Draggable 1')
.trigger('mousedown', { which: 1, pageX: 600, pageY: 600 })
.trigger('mousemove', { which: 1, clientX: 330, clientY: 35 });
cy.wait(3000);
cy.get('#mydropzone')
.trigger("dropzone", {dataTransfer: dt});
});
});
Run Code Online (Sandbox Code Playgroud)
我正在测试 Cypress,我有一个自定义 Cypress 命令的代码:
Cypress.Commands.add('login', (user, password) => {
if (!user || !password) {
user = 'user@test.com.br';
password = '123321';
}
cy.visit('');
cy.contains('Entrar').click();
cy.get('input[name=_username]')
.type(user);
cy.get('input[name=_password]')
.type(password);
cy.get('.btn').click();
});
Run Code Online (Sandbox Code Playgroud)
如果调用cy.login()不带任何参数,user并password在内部分配if块。否则,它使用传递的参数值。
我试图在这里添加装置,并想出了这个代码:
Cypress.Commands.add('login', (user, password) => {
if (!user || !password) {
cy.fixture('users').then((json) => {
var user, password;
user = json[0].email;
password = json[0].password;
login2(user,password);
});
} else {
login2(user, password);
}
function login2(user, password) {
cy.visit('');
cy.contains('Entrar').click();
cy.get('input[name=_username]')
.type(user);
cy.get('input[name=_password]') …Run Code Online (Sandbox Code Playgroud) javascript ×5
cypress ×2
ember.js ×2
angularjs ×1
arabic ×1
coffeescript ×1
date ×1
ember-data ×1
emblem.js ×1
hl7-fhir ×1
jquery ×1
reactjs ×1
redux ×1
seo ×1
three.js ×1