小编yel*_*int的帖子

AngularJS:将角度服务属性绑定到范围

脚本

  • 我有一个UserService维护sessionStatus用户(布尔值)的服务.
  • 视图有条件地显示[LOGOUT] ng-show=sessionStatus(即如果未登录(false),则不显示).
  • sessionStatusViewController因此,应该总是匹配UserService......对吗?
  • 如果在可见时单击[LOGOUT],它会执行一些逻辑异常,sessionStatus值更改,并且视图应该更新为新的结果ng-show....

问题

  1. 目前,单击logout似乎没有更新var UserService.sessionStatus?
  2. 当UserService.logout()发生并更改UserService.sessionStatus时,如何更新$ scope.sessionStatus?
    • 如何将更改的$ scope映射到ng-show?

视图

    <a ng-show="sessionStatus" ng-click="logout()">Logout</a>
Run Code Online (Sandbox Code Playgroud)

视图控制器

    app.controller('AppController', function($scope, $interval, $http, UserService) {
      $scope.logout = function() { UserService.logout(); }

      // This ain't working
      $scope.$watch(UserService.sessionStatus, function() {
          $scope.sessionStatus = UserService.sessionStatus;
      });
    });
Run Code Online (Sandbox Code Playgroud)

UserService

注意:appUser是HTML头中注入的全局变量(一个hacky修复,直到我得到会话/ cookie的东西正常工作)

  app.factory('UserService', function($http) {
    var pre;
    var sessionStatus;

    function init() {                   // Logged in  : Logged out             
      pre = appUser.user != undefined …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-service angularjs-scope angularjs-controller

6
推荐指数
1
解决办法
6029
查看次数

NodeJS 中的缩进多行日志记录

我想将JSON.stringify()'d 对象打印到控制台,作为 Mocha 测试套件输出的一部分。

在测试缩进时,我希望对象日志行向右缩进足够远(例如,3-4 个制表符空格),以便它们在正确的describe()组中可识别。

我怎么能用像console.log或这样的东西来实现这一目标process.stdout.write

javascript console logging stdout node.js

6
推荐指数
1
解决办法
7617
查看次数

AngularJS:确定已用时间,用于定期更新模型和视图

上下文

我正在寻找创建一个webapp,它将一组数据视为自页面加载以来经过的时间的函数.想想"打开这个网页后你烧掉了多少卡路里".

我仍然试图绕过AngularJS服务,工厂等,并想知道创建自动更新计时器的最佳方法是什么,可以用来定期(每秒)操作和更新ng-model.

我怎么(不成功)想象它的工作原理:

我现在有这样的事情:

app.factory('Timer', function($timeout) {
    var time = 0;

    var Timer = function() {
        this.time++;
        this.timeout = $timeout(this.Timer, 1000);
    }
});
Run Code Online (Sandbox Code Playgroud)

并用作

$timeout(function() {
    $scope.someNgModelVarForTheView = Timer.time * $scope.data;
}, 1000);
Run Code Online (Sandbox Code Playgroud)

但是......好吧.在我看来,这很美妙.实际上螺丝都发生了,如果我知道正确的方法,我就是在开玩笑......

所以我想,有两个问题:

  • 如何计算自页面加载以来的时间作为可调用函数?
  • 如何定期(每秒)重新计算数据模型?$ timeout是一个好方法吗?

javascript timeout timer angularjs

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

Chrome用户脚本错误:"不安全的JavaScript尝试访问框架"

// the iframe of the div I need to access
var iframe = document.getElementsByTagName("iframe")[2];
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;

// resize 'player' in the iframe
innerDoc.getElementById('player').width = "1000px";
innerDoc.getElementById('player').height = "650px";
Run Code Online (Sandbox Code Playgroud)

在此脚本的用户脚本中运行:http://www.free-tv-video-online.me/player/sockshare.php?id = 24DA6EAA2561FD60

为什么Chrome出现此错误并导致脚本失败?:

Unsafe JavaScript attempt to access frame with URL http://www.sockshare.com/embed/24DA6EAA2561FD60 
from frame with URL http://www.free-tv-video-online.me/player/sockshare.php?id=24DA6EAA2561FD60. 
Domains, protocols and ports must match.
Run Code Online (Sandbox Code Playgroud)

(我只是一个基本的Javascript用户)


最后的代码,非常感谢回答者:

// ==UserScript==
// @name       Resize
// @include    http://www.free-tv-video-online.me/player/sockshare.php*
// @include    http://www.sockshare.com/*
// ==/UserScript==

if (!(window.top === window.self)) {
    var player …
Run Code Online (Sandbox Code Playgroud)

javascript iframe greasemonkey google-chrome userscripts

4
推荐指数
1
解决办法
1万
查看次数

节点 JSON 输出格式错误,无法设置 HTTP Header: Content-Length 修复

问题

背景和意图

我使用 Node 后端来(1)从 Feedly Cloud 请求 API 数据,(2) 以 JSON 格式输出该数据,然后 (3)从 JS 前端检索它。

该问题仅涉及阶段(2)

创刊号

在尝试打印数据供前端检索时,我注意到 Node 在中途中断,留下了格式错误的 JSON。

尝试的解决方案

我尝试在写入响应内容之前为 Content-Length 设置响应标头,以强制它打印整个内容。这有效了,大约两次。但随后它就开始大惊小怪了:

持续失败

现在,应用程序在函数运行时崩溃,声称我在写入内容或输出到页面设置了 HTTP 标头,但据我所知,我并没有这样做。

代码

    var http = require('http')
      , authCode = 'xyz';

    var FeedlyController = {
        api: function(req, res) {
            http.get({
                host : "cloud.feedly.com",
                path : "/v3/"+req.params.resource,
                headers: { Authorization: "OAuth "+authCode }
            }, function(response) {
                response.on('data', function(json){
                  res.writeHead(200, {
                      'Content-Type': 'application/json',
                      'Content-Length': Buffer.byteLength(json, 'utf8') …
Run Code Online (Sandbox Code Playgroud)

javascript http node.js express sails.js

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

将具有非标准端口号的 SSH 存储库克隆到 SourceTree

我花了大约20分钟来解决这个问题。

我通过电子邮件收到了一个存储库的 SSH 地址。至关重要的是,它有一个非标准(即不是 22)端口号: git@domain.com:1234/opt/git/repository.git

我以为我可以将其复制粘贴到 SourceTree 中,但不断收到This is not a valid source path / URL错误消息。

当我仔细查看日志时,错误在于它正在寻找1234/opt/git/repository.git服务器上的路径 - 它将端口号视为路径的一部分。显然没有找到回购协议。

git url ssh atlassian-sourcetree sourcetree

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

PHP:无法使用PDO INSERT到MYSQL表中

使用PDO的下面的MYSQL INSERT命令失败了.在失败并报告之后,DROP TABLE命令也会失败.我只是不知道代码有什么问题:/

$sql = $db2->prepare(
'INSERT INTO citizens_12_01_12
(login, rank, xp, level, citizenship, totalDamage, economySkill, damageToday, strength) 
VALUES 
(:login, :rank, :xp, :citizenship, :totalDamage, :economySkill, :damageToday, :strength)'
);
$sql->bindParam(':strength', $api->strength, PDO::PARAM_INT);
$sql->bindParam(':damageToday', $api->damageToday, PDO::PARAM_INT);
$sql->bindParam(':economySkill', $api->economySkill, PDO::PARAM_INT);
$sql->bindParam(':totalDamage', $api->totalDamage, PDO::PARAM_INT);
//$sql->bindValue(':organization', api->organization, PDO::PARAM_BOOL);
$sql->bindParam(':citizenship', $api->citizenship, PDO::PARAM_STR);
$sql->bindParam(':level', $api->level, PDO::PARAM_INT);
$sql->bindParam(':xp', $api->xp, PDO::PARAM_INT);
$sql->bindParam(':login', $api->login, PDO::PARAM_STR);
$sql->bindParam(':rank', $api->rank, PDO::PARAM_STR);

if ($sql->execute()) {
    echo "Query succeeded.";
} else {
    echo "Query failed.";
    $db2->query("DROP TABLE 'citizens_12_01_12'");
}
Run Code Online (Sandbox Code Playgroud)

error_log中出现以下错误:

PHP Warning:  PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo prepared-statement

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