小编San*_*nes的帖子

如何使用AngularJs处理页眉和页脚

我很抱歉如果我不能很好地解释自己,那么就这样了.基本上我在尝试解决这个问题时遇到了麻烦.我正在使用Yeoman来生成我的角度项目.我有页眉和页脚,页脚将是静态的,页眉将需要自己的控制器.我遇到的问题是,我并不特别希望标题位于其他控制器之外.也许我错了,这实际上并不是一个问题,最好的做法显然是将标题放在外面ng-view?这是我到目前为止:

   <head>
     <!-- head stuff here -->
   </head>
   <body ng-app="dscover.me">

        <div ng-include src="'partials/header.html'"></div>  

        <div ng-view="">
        </div>

        <div ng-include src="'partials/footer.html'"></div>
   </body>
Run Code Online (Sandbox Code Playgroud)

这是在页面和页脚之外包含页眉和页脚的正确方法MainCtrl吗?这对我来说只是因为,如果我要创建一个新的控制器/页面,我仍然可以访问它外面的控制器吗?问题再次是我想克制自己使用rootScope,不幸的是,这似乎是唯一的方法,在标题之外MainCtrl

对于可怕的解释我很抱歉,但我希望你们明白.如果有更好的方法,请告诉我.任何帮助将不胜感激!

html controllers partials angularjs yeoman

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

为什么在反应中执行状态更改需要两次点击?

我真的很难等待状态更改。我正在使用反应钩子和上下文。

基本上,我有一个自定义下拉列表,这里没有使用表单元素。单击时,它将运行一个函数来更改两个参数的状态:

// IdeaFilters.js
const organizationContext = useOrganization();
const { organization, filterIdeas, ideas, loading } = organizationContext;

const [filter, setFilter] = useState({
    statusId: "",
    orderBy: "voteCount"
  });

  // Build the parameters object to send to filterIdeas
  const onClick = data => {
    setFilter({ ...filter, ...data });
    filterIdeas(filter);
  };
Run Code Online (Sandbox Code Playgroud)

所以onClick附加到渲染方法中的下拉列表:

First dropdown:
<Dropdown.Item onClick={() => onClick({ orderBy: "popularityScore" })}>Popularity</Dropdown.Item>

Second dropdown:
<Dropdown.Item key={status.id} onClick={() => onClick({ statusId: status.id })}>
  {status.name}
</Dropdown.Item>

Run Code Online (Sandbox Code Playgroud)

fetchIdeas()基本上运行一个在我的上下文中可用的函数,它为我的 axios 请求构建这些参数。每次单击时,都需要单击两次才能运行该想法。有时它会按预期运行,但大多数时候需要单击两次。

我遇到这个问题的任何原因?

任何帮助将不胜感激!

reactjs react-context react-hooks

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