小编Hil*_*ilo的帖子

Vuex针对复杂对象的最佳实践

我的Vuex商店包含各种复杂性的对象.有些具有嵌套对象,有些具有嵌套对象数组.

我可以创建泛型函数来改变指定的属性:

setProperty(state,{ type, id, prop, value })
{
  state[type][id][prop] = value;
}
Run Code Online (Sandbox Code Playgroud)

但是对于嵌套对象,对象数组而言,这将很快变得复杂.必须为每个对象属性(嵌套或其他)创建变异似乎非常繁琐.

创建突变以修改对象,嵌套对象,数组等的最佳实践是什么?

另一个相关的问题是,将对象传递到突变中是不好的形式,而不是在状态中查找它们:

setProperty(state,{ obj, prop, value })
{
  obj[prop] = value;
}
Run Code Online (Sandbox Code Playgroud)

vuex

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

始终启用ng-disabled的按钮

我正在尝试使用ng-disabled有条件地启用/禁用我的保存按钮:

<button type="button" title="Save Changes" ng-click="onSaveChanges()"
        ng-disabled="{{!data.modified}}">
  Save
</button>  
Run Code Online (Sandbox Code Playgroud)

我有一个$ scope.data.modified变量,当我的数据被修改时,该变量变为true.无论是真还是假,都会启用"保存"按钮.元素检查显示ng-disabled的值按预期在"true"和"false"之间切换,但按钮始终处于启用状态.

javascript button angularjs

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

简单的Angular $ routeProvider解析测试.这段代码有什么问题?

我创建了一个简单的Angular JS $ routeProvider解析测试应用程序.它给出以下错误:

Error: Unknown provider: dataProvider <- data
Run Code Online (Sandbox Code Playgroud)

如果有人能够确定我哪里出错了,我将不胜感激.

的index.html

<!DOCTYPE html>
<html ng-app="ResolveTest">
  <head>
    <title>Resolve Test</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.js">    </script>
    <script src="ResolveTest.js"></script>
  </head>
  <body ng-controller="ResolveCtrl">
    <div ng-view></div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

ResolveTest.js

var rt = angular.module("ResolveTest",[]);

rt.config(["$routeProvider",function($routeProvider)
{
  $routeProvider.when("/",{
    templateUrl: "rt.html",
    controller: "ResolveCtrl",
    resolve: {
      data: ["$q","$timeout",function($q,$timeout)
      {
        var deferred = $q.defer();

        $timeout(function()
        {
          deferred.resolve("my data value");
        },2000);

        return deferred.promise;
      }]
    }
  });
}]);

rt.controller("ResolveCtrl",["$scope","data",function($scope,data)
{
  console.log("data : " + data);
  $scope.data = data;
}]);
Run Code Online (Sandbox Code Playgroud)

rt.html

<span>{{data}}</span>
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive angularjs-service angularjs-routing angularjs-controller

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

ng-grid cellTemplate不适用于包含的CUSTOM_FILTERS

在列定义中包含cellTemplate时,如果该cellTemplate包含CUSTOM_FILTERS,则会导致angular to puke:

错误:语法错误:令牌'CUSTOM_FILTERS'是表达式[row.entity.1 CUSTOM_FILTERS]第14列的一个意外标记,从[CUSTOM_FILTERS]开始

即使在列def中使用默认的cellTemplate也会导致相同的错误.

cellTemplate = "<div class=\"ngCellText\" ng-class=\"col.colIndex()\"><span ng-cell-text>{{COL_FIELD CUSTOM_FILTERS}}</span></div>"
Run Code Online (Sandbox Code Playgroud)

javascript angularjs ng-grid

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

nginx作为NodeJS + socket.io的代理:客户端没有收到通知

我有nginx配置代理如下的websockets:

location /socket.io {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Run Code Online (Sandbox Code Playgroud)

}

客户端连接正常,但是当服务器发出通知时:

io.sockets.emit("update",data);
Run Code Online (Sandbox Code Playgroud)

客户永远不会收到它:

var socket = io.connect("http://" + hostip + "/socket.io");
socket.on("update",function(data)
{
  console.log("got update: " + data);
});
Run Code Online (Sandbox Code Playgroud)

如果我绕过nginx,一切都按预期工作:

var socket = io.connect("http://" + hostip + ":8000");
socket.on("update",function(data)
{
  console.log("got update: " + data);
});
Run Code Online (Sandbox Code Playgroud)

我错过了什么?顺便说一句,为什么不绕过nginx单一来源策略违规?谢谢.

nginx websocket node.js socket.io

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

FOR XML PATH 具有重复的列名

我正在尝试使用 FOR XML PATH 从 MS SQL Server 2012 获取所需的输出。

我的查询基本上是这样的:

select field1 as fields, field2 as fields, field3 as fields 
from mytable 
for xml path
Run Code Online (Sandbox Code Playgroud)

产生这个 xml: (对于 fieldN 列中的值 0,3,7)

<row>
    <fields>037</fields>
</row>
Run Code Online (Sandbox Code Playgroud)

我想要的输出是这样的:

<row>
    <fields>0</fields>
    <fields>3</fields>
    <fields>7</fields>
</row>
Run Code Online (Sandbox Code Playgroud)

这可能吗?

xml sql-server

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