小编Jas*_*ard的帖子

Angular的新手 - 计算变量

我从Knockout转到Angular,我有一些问题.我假设我必须做一些非角度的方式.

http://jsfiddle.net/LostInDaJungle/BxELP/

I linked to jsfiddle so I didn't have to include my code here
Stack Overflow will not let me post my question without a code block.
Run Code Online (Sandbox Code Playgroud)

这是一个非常基本的小提琴,概述了我的两个主要问题......

问题1:val1和val2初始化为3和4,并且正确加起来为7.但是,如果更改文本框中的任何一个值,则新值将被视为字符串,并且我将获得连接而不是添加.将val1更改为4,当它应该是8时你得到44.这种行为的最佳方法是什么?

问题2:计算字段.我可以使用像{{val1 + val2}}这样的大括号来获取计算字段,并在基础模型更改时自动更新计算字段,但这是完全不可接受的.在我的完全成熟的应用程序中,我们生成了一个"成本",在整个过程中使用了几次,每次都要付出成本计算费用.更不用说当这个计算发生变化时,我现在有一个不值得羡慕的任务,就是找到15个不同的地方,使用成本计算并全部更新.

另外,如果我尝试使用大括号在输入上放置ng-model ="cost",那么大括号不起作用.所以没有什么可以作为绑定成本的方式跳出来.

http://jsfiddle.net/LostInDaJungle/QNVwe/

这个例子更像我想要的结构.但是,与ko.observable不同,计算字段在生成它们的值发生更改时不会更新.每个人都强加给我的样板解决方案是编写一堆ng-change处理程序......但这太糟糕了.如果宽度变化会改变成本并改变投资回报计算等等......它很快就会变得混乱.

就逻辑与表示分离而言,这两种方法都失败了.方法一将我的业务逻辑嵌入到我的HTML中.方法二在我的代码中放入了一大堆ng-change处理程序,这与用纯HTML格式编写一大堆onChange处理程序没有多大区别.如果我需要做一堆ng-change处理程序,我会尽快在Javascript中执行onChange处理程序,因为我至少可以在我的表示层之外声明它们.

这是同一个淘汰赛版本:

http://jsfiddle.net/LostInDaJungle/eka4S/2/

这更像我期望的......除了数据绑定我的输入,所有程序逻辑都很好地包含在视图模型中.此外,由于我的可计算机是一个Javascript函数,所以我不必理会如何确保我的两个值是数字.

所以....

计算变量:有没有办法观察基础变量并自动更新计算量?无需将我的程序逻辑埋在我的HTML中?

有没有一种好方法可以防止我的数字变成字符串?

谢谢您的帮助.

仅供参考,也发布到Google网上论坛:https://groups.google.com/forum/#!topic / angular/ 0dfnDTaj8tw

angularjs

23
推荐指数
3
解决办法
3万
查看次数

PHP的array_rand()不是真的随机吗?

我正在编写一些代码以随机分配演示文稿列表。相同的演示文稿无法连续播放。

$d数组将是演示文稿ID的列表以及演示文稿应在循环中播放的次数。

下面的代码可以正常工作,但是结果并不是真正随机的。当我一次又一次地看到相同的模式时,我正在调试。查看以下输出:

ighbajafpbailgjacbiaeldiqjaphafgdjcbapsaebjfdkcknijhbdgecaimabodalkfbgbhacbhnrjeofbdjbfhegmbpdkialmbocnliaebfaimcabchgoecbcdimgepnfjgfbfbohdahdkjgneaebha

ighbajafpbailgjacbiaeldiqjaphafgdjcbapsaebjfdkcknijhbdgecaimabodalkfbgbhacbhnrjeofbdjbfhegmbpdkialmbocnliaebfaimcabchgoecbcdimgepnfjgfbfbohdahdkjgneaebha
Run Code Online (Sandbox Code Playgroud)

这两个分开了4次。它们是相同的。4之后运行,相同的字符串。多运行4次,相同的字符串。实际上,在运行此命令时,我似乎依次得到了相同的4个字符串。

我的代码在下面,有人可以指出我可能已经嘲笑的内容吗?如果我什么都没做,为什么“ rand”不是随机的?我该如何解决?

$d = array(
    array('a', '20'), array('b', '20'), array('c', '10'), array('d', '10'), array('e', '10'), array('f', '10'), array('g', '10'), array('h', '10'), array('i', '10'), array('j', '10'), array('k', '5'), array('l', '5'), array('m', '5'), array('n', '5'), array('o', '5'), array('p', '5'), array('q', '1'), array('r', '1'), array('s', '1'));
$out = randomizeArray($d);
//var_dump($out);

function randomizeArray ($data) {
    // Step 1: Make an array of the id's with repeats for count.
    $rarray = array();
    foreach ($data as $i => …
Run Code Online (Sandbox Code Playgroud)

php random

5
推荐指数
1
解决办法
1680
查看次数

从JSON加载 - 未缩放的对象?

我的猜测是,这是我做错了......

使用toJSON和fromJSON方法保存和加载Fabric图形,似乎缩放的对象不会保留其缩放.

仅供参考,它创建的PNG文件看起来正确.

所以,这是保存时图像的样子: 好照片

然后,当我重新加载它: 坏Pic

码:

function save () {
    // Need to clear selection and remove overlay before saving.
    canvas.deactivateAll();
    if (!mask) {canvas.setOverlayImage('', canvas.renderAll.bind(canvas));}
    // If they're zoomed in, reset the image
    resetZoom();
    var name = prompt("Please enter a filename", "NewPresentation");
    var url = 'http://localhost/fabric/img/'+name+'.png';
    var stat = checkUrl(url);
    //console.log("Stat: "+stat);
    if (stat) {
        if (!confirm(url+" already exists. Do you want to overwrite the existing file?")) return false;
    }

    $.ajax({
        type: 'POST',
        url: 'save.php',
        data: {
            task: 'save', 
            img: …
Run Code Online (Sandbox Code Playgroud)

javascript fabricjs

3
推荐指数
1
解决办法
981
查看次数

标签 统计

angularjs ×1

fabricjs ×1

javascript ×1

php ×1

random ×1