tempusfugit (144) [Avatar] Offline
Page 14(18):
2.1.1 The root Vue instance
Vue will locate the corresponding DOM element in our HTML and use it as the template for our application
To be honest the whole "template" business needs a lot more song and dance right here - inside index.html the demarcation between plain-old-HTML and Vue processed markup seems conceptual at best - otherwise the distinction will likely just "fly under the radar" until it catches the reader off guard at the end of the chapter. The notion of the template is so much clearer with single-file components.

Page 16(20):
2.1.2 Making sure our application is running
you should be able to locate the el property we specified as part of our applications options object.
I suspect the original is actually at $vm0.$options.el - though I'm prepared to accept that $vm0.$el is the more important version given that it can be set with vm.$mount([elementOrSelector]).

Page 19(23)
2.1.3 Displaying something inside our view
On the heading element <h1>, we use a data binding known as a text interpolation, v-text="sitename".
Actually the Vue documentation refers to v-text as a (data binding) directive as it sets the entire textContent. Only the "Mustache" syntax is referred to as a text interpolation as it can also be used to replace only part of textContent; so the Mustache syntax is pretty much analogous to JavaScript's Template Literals.

2.1.4 Inspecting the sitename property
The visual appearance of our header is provided by the stylesheet in chapter-02/app.css.
Ok, a bit of a hickup here due to some "continuity errors".
  • Just now we finished the modifications in Listing 2.2. No sign of a <link rel="stylesheet" href="app.css"> anywhere.
  • Changing gears and looking at the source code download: there is a <link rel="stylesheet" type="text/css" href="assets/css/app.css"/> - i.e. there is a chapter-02/assets/css/app.css rather than a chapter-02/app.css
  • open that file up and find the styles defined by #app > header.
    Nope - the closest thing is a header h1 selector (i.e. a descendant selector, not a child selector).

    Page 20(24)
    As you can see in Figure 2.8, the getter and setter functions for our sitename property are exposed at the root level of our application instance.
    I'm wondering whether this actually refers to Figure 2.7.

    Page 21(25)
    Figure 2.8 Using Vue’s property getter and setter to print and update the sitename property, respectively
    2. When you update the value of sitename, the text interpolation in our view will reflect that change automatically.
    Given that we haven't used the "Mustache" syntax yet, I suspect "data binding" would be more accurate than "text interpolation".

    Page 26(30)
    2.3.1 Defining product data
    Listing 2.4 Adding product data to our Vue instance – chapter-02/index.html
    image: images/products/1001/fullsize.png
    Actual path in source code download is assets/images/product-fullsize.png

    Page 27(31)
    2.3.2 Marking up the product view
    Most of the properties of our product data—title, description, and price—are bound using text interpolations ...
    "v-text directives" instead of "text interpolations".

    Page 30(34)
    Cross-site scripting attacks
    ... our database by using a form we may have not scrutinized ...
    "sanitized" is the word I would expect here.

    HTML interpolations
    The v-html directive replaces innerHTML wholesale.
    interpolate: 2. to insert between other things or parts

    Page 32(36)
    2.4.3 Testing different values
    with a statement like app.product.price = 3500.
    Presumably that's webstore.product.price = 3500
    Erik Hanchett (34) [Avatar] Offline
    Thanks again! I've just updated chapter 1 and 2 with your feedback. It's been very helpful! Keep in coming!