Rumah > Soal Jawab > teks badan
P粉4968866462023-09-01 10:39:42
Anda mencipta pembolehubah:
@emlpoyee
Tetapi anda sedang menelefon @Employee
, yang akan menjadi batal.
Cuba tukar kepada pembolehubah yang sebenarnya anda masukkan ke dalam pekerja:
@emlpoyee
Selain itu, saya rasa anda salah mengeja pembolehubah. Mungkin anda maksudkan @pekerja.
Anda mengisi segala-galanya di sini:
emlpoyee = await emp.Employee();
Jadi, daripada kod yang anda berikan, memanggil @emlpoyee masuk akal.
Begitu juga <div> @Employee ... </div>
改为 <div> @emlpoyee ... </div>
P粉5133162212023-09-01 09:57:36
Kod anda tidak melakukan suntikan perkhidmatan dengan betul. Saya membentangkan kepada anda satu kaedah yang saya gunakan dan ia berfungsi dengan betul, saya harap ia akan berguna kepada anda.
Pertama, anda perlu mencipta antara muka untuk perkhidmatan anda:
namespace Hydra.Services { public interface IEmployee { Task<EmployeeModel> GetEmployee(); } }
Maka anda perlu mengubah suai perkhidmatan anda, mewarisi daripada antara muka di atas, seperti ini:
namespace Hydra.Services { public class Employee:IEmployee { public async Task<EmployeeModel> GetEmployee() { // 返回JSON数据 } } }
Sekarang anda harus menyuntik perkhidmatan dalam Startup.cs
或Program.cs
seperti ini:
services.AddScoped<IEmployee,Employee>();
Akhir sekali, anda harus menyuntik perkhidmatan anda dalam komponen yang diperlukan seperti yang ditunjukkan di bawah dan menggunakannya dengan mudah:
@page "/" @using Hydra.Services @inherits OwningComponentBase<IEmployee> <div> @company ... </div> <!-- OK,公司详细信息已呈现 --> <div> @Employee ... </div> <!-- System.NullReferenceException: '对象引用未设置为对象的实例。' --> @code { private string company; private EmployeeModel emlpoyee = new EmployeeModel; private IEmployee employeeService => Service; protected override async Task OnInitializedAsync() // 获取公司详细信息 // 这里是问题所在: EmployeeModel emp = new EmployeeModel(); emp.url = "http://google.com"; emlpoyee = await employeeService.GetEmployee(); }
Sudah tentu, kod anda mempunyai banyak isu struktur, dan anda mungkin hanya mahu menentukan masalah dalam bentuk kod contoh, jadi saya cuba menerangkan cara ia berfungsi menggunakan kod anda sendiri supaya contoh itu lebih khusus untuk anda .