【问题标题】:Passing the value of a variable(string) from a razor view to a React component将变量(字符串)的值从剃刀视图传递到 React 组件
【发布时间】:2018-01-11 07:24:55
【问题描述】:

我想知道您是否对将字符串从剃刀视图传递到 React 组件有任何建议?

export default class WidgetModel extends Component {

  constructor() {
    super()
  }

  render() {
    const {  } = this.props,   
    return (  
      <p>{Copy}</p>           
    )
  }
}
   <div id="widget">
      <p>@vm.Copy</p>
   </div>

【问题讨论】:

    标签: c# .net reactjs razor


    【解决方案1】:

    据我了解,您的 c# 代码在服务器中进行评估,当时反应不存在,然后代码将传递给浏览器,然后反应将呈现它。

    所以基本上你不能像你想要的那样访问你的普通变量,但是可以将你的 c# 值分配给一个全局 javascript 变量,这样你就可以稍后在浏览器中获取它:

    说这是你的 c# 代码:

    <div id="widget">
          <p>@vm.Copy</p>
       </div>
    

    添加类似这样的内容:

    <div id="widget">
          <p>@vm.Copy</p>
    
          <script>
            var window.Copy = "@vm.Copy"; // we need the quotation so javascript doesn't compile it as a refrence, rather as a string
            console.log('Copy',Copy);
          </script>
       </div>
    

    然后在你的反应代码中你应该能够拿起它:

     render() {
        const {  } = this.props,   
        return (  
          <p>{window.Copy}</p>           
        )
      }
    

    【讨论】:

    • 将这些类型的变量放在函数(或闭包)中而不是直接放在窗口对象上会有任何附加值吗?
    猜你喜欢
    • 2015-04-03
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多