การใช้ with และ using ใน KnockoutJS

with และ using ใน KnockoutJS นั้นใช้เพื่อเข้าถึงคุณสมบัติของโมเดลจากภายใน bind

with ใช้เพื่อเข้าถึงคุณสมบัติของโมเดลจากภายใน bind ที่ไม่ได้รับการผูกไว้กับองค์ประกอบ UI

Syntax ของ with คือ:

1
2
3
with(object) {
// เข้าถึงคุณสมบัติของ object
}

ตัวอย่างเช่น:

1
2
3
<div data-bind="with: { myObject: myObject }">
<p data-bind="text: myObject.property1"></p>
</div>

สิ่งนี้จะเข้าถึงคุณสมบัติ property1 ของวัตถุ myObject จากภายใน bind ที่ไม่ได้รับการผูกไว้กับองค์ประกอบ UI

using ใช้เพื่อเข้าถึงคุณสมบัติของโมเดลจากภายใน bind ที่ได้รับการผูกไว้กับองค์ประกอบ UI

Syntax ของ using คือ:

1
2
3
using(object) {
// เข้าถึงคุณสมบัติของ object
}

ตัวอย่างเช่น:

1
2
3
4
5
<div data-bind="text: myObject.property1">
using(myObject) {
// เข้าถึงคุณสมบัติของ myObject
}
</div>

สิ่งนี้จะเข้าถึงคุณสมบัติ property1 ของวัตถุ myObject จากภายใน bind ที่ได้รับการผูกไว้กับองค์ประกอบ UI

Here are some examples of how you can use with and using in KnockoutJS:

  • You can use with to access the properties of a model from within a bind that is not bound to a DOM element:
1
2
3
<div data-bind="with: { myObject: myObject }">
<p data-bind="text: myObject.property1"></p>
</div>
  • You can use using to access the properties of a model from within a bind that is bound to a DOM element:
1
2
3
4
5
<div data-bind="text: myObject.property1">
using(myObject) {
// เข้าถึงคุณสมบัติของ myObject
}
</div>
  • You can use with to access the properties of a model from within a function that is called from a bind:
1
2
3
4
5
6
7
<div data-bind="text: myObject.property1">
<button data-bind="click: function() {
with(myObject) {
// เข้าถึงคุณสมบัติของ myObject
}
}">คลิก</button>
</div>
  • You can use using to access the properties of a model from within a function that is called from a bind that is bound to a DOM element:
1
2
3
4
5
6
7
<div data-bind="text: myObject.property1">
<button data-bind="click: function() {
using(myObject) {
// เข้าถึงคุณสมบัติของ myObject
}
}">คลิก</button>
</div>

with และ using เป็นเครื่องมือที่ทรงพลังที่สามารถใช้ในการเข้าถึงคุณสมบัติของโมเดลจากภายใน bind