小编Ken*_*avR的帖子

Angular - ngChange 在 <select> 的 ngModel 之前触发

我找到了这个相关主题,其中的答案建议注意模型更改而不是选择的更改。但在我的示例中,“模型”是列表中对象的一部分。$watch为列表中的每个对象初始化的正确方法是什么?

选择

 <li data-ng-repeat="obj in main.list track by $index">
    <select data-ng-change="main.changeStatus(obj)" data-ng-model="obj.status">
      <option value="A">A</option>
      <option value="B">B</option>
      <option value="C">C</option>
    </select>
 </li>
Run Code Online (Sandbox Code Playgroud)

更改状态

我需要更新对象或已经在 change 方法中接收到正确的对象。

main.changeStatus = function(obj) {
  var r = new Resource(obj);
  ...
  r.$save({...}, function (savedObj) {
    ...
  });
}
Run Code Online (Sandbox Code Playgroud)

解决这个问题的正确方法是什么?

谢谢

编辑:我想我没有问正确的问题。

发布的代码没有实现我想要的,因为在模型更新之前执行了更改方法,因此我将不正确/旧的对象发送到后端。现在有几种方法可以解决这个问题

  • 创建一个新变量并将其用作模型
  • 遍历对象列表并 $watch 每个状态属性
  • 另一个我不知道的方式?

理想情况下,我将新对象用于更改方法,但我不知道如何。

Edit2:我试图写一个小提琴来说明清楚,但它在那里工作。我需要更深入地研究我的代码,因为问题似乎出在其他地方。

javascript angularjs angularjs-directive

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

微服务 - RestTemplate UnknownHostException

我有一个简单的设置,包括Eureka服务注册服务器,公共API服务和使用RestTemplate从公共API调用的服务.Eureka告诉我服务已成功注册,但是当我打电话给服务时

@Service
public class MyServiceService {

    @Autowired
    private RestTemplate restTemplate;

    private final String serviceUrl;

    public MyServiceService() {
        this.serviceUrl = "http://MY-SERVICE";
    }

    public Map<String, String> getTest() {

        Map<String, String> vars = new HashMap<>();
        vars.put("id", "1");

        restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());

        return restTemplate.postForObject(serviceUrl+"/test", "", Map.class, vars);
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到以下异常

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed;
  nested exception is org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://MY-SERVICE/test": MY-SERVICE;
  nested exception is java.net.UnknownHostException: MY-SERVICE] with root cause java.net.UnknownHostException: MY-SERVICE …
Run Code Online (Sandbox Code Playgroud)

java spring-boot microservices spring-cloud netflix-eureka

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

Radiobutton-Buttons纯html/css

是否可以使用纯html/css 创建像JQuery那样的radiobuttons ?

谢谢

html css jquery

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

redux-form:动态定义handleSubmit

由于我对React生态系统很陌生,我的描述和做事方式可能会有所不同,但我希望你能解决我的问题.

我有一个父组件,它获取从路由器注入的表单,并将状态和操作创建者映射到属性.

Container.js

import * as actionCreators from "../actionCreators";

export default class ComponentA extends React.Component {

  render() {
    return (
      <div className="ComponentA">
        {this.props.children} //<--Form
      </div>
    );
  }
}

function mapStateToProps(state) {
  return {
    listItems: state.get("listItems")
  };
}

export const Container = connect(mapStateToProps, actionCreators)(ComponentA);
Run Code Online (Sandbox Code Playgroud)

获取渲染的组件{this.props.children}是以下形式.

Form.js

class Form extends React.Component {

  static propTypes = {
    fields: PropTypes.object.isRequired,
    handleSubmit: PropTypes.func.isRequired
  };   

  render() {
    const { fields: {title, description}, handleSubmit} = this.props;
    return (
      <div className="create-project-form">
        <h1>Create Project</h1>
        <form onSubmit={handleSubmit}>
          <label …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router redux

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

"SubTypes"具有自己的Show并可在其他Module中使用

我很确定我的问题源于我是Haskell的新手并且完全不了解类型系统的事实.

我将使用Haskell的wiki中使用的类型主题示例

定义了以下类型

 data Suit = Club | Diamond | Heart | Spade
Run Code Online (Sandbox Code Playgroud)

现在第一个问题是,我想Show为每个"子类型"(Club,Diamond,Heart,Spade)实施,但这似乎不起作用,因为它是一个DataKinds.所以我把它分成了自己的类型.(属性没有多大意义,但我添加它们更接近实际代码)

data ClubType = ClubType {
  clubName :: String,
  icon :: String
} 
instance Show ClubType where
  show (ClubType cn i) = "name: " ++ cn ++ ", icon: " ++ i
Run Code Online (Sandbox Code Playgroud)

在Suit类型中使用它们

data Suit = Club ClubType 
          | Diamond DiamondType 
          | Heart HeartType 
          | Spade SpadeType
Run Code Online (Sandbox Code Playgroud)

现在我想用不同的西装和"子类型"(俱乐部,钻石,心脏,锹)module.我只是出口了Suit (..).

用法

import Module1 (Suit(..))

getSuit :: String -> Suit
getSuit …
Run Code Online (Sandbox Code Playgroud)

haskell types

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