我找到了这个相关主题,其中的答案建议注意模型更改而不是选择的更改。但在我的示例中,“模型”是列表中对象的一部分。$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)
解决这个问题的正确方法是什么?
谢谢
编辑:我想我没有问正确的问题。
发布的代码没有实现我想要的,因为在模型更新之前执行了更改方法,因此我将不正确/旧的对象发送到后端。现在有几种方法可以解决这个问题
理想情况下,我将新对象用于更改方法,但我不知道如何。
Edit2:我试图写一个小提琴来说明清楚,但它在那里工作。我需要更深入地研究我的代码,因为问题似乎出在其他地方。
我有一个简单的设置,包括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) 是否可以使用纯html/css 创建像JQuery那样的radiobuttons ?
谢谢
由于我对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) 我很确定我的问题源于我是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) javascript ×2
angularjs ×1
css ×1
haskell ×1
html ×1
java ×1
jquery ×1
react-router ×1
reactjs ×1
redux ×1
spring-boot ×1
spring-cloud ×1
types ×1